MockTracker.fn method | Node.js node:test module | Bun
BuildDocsReferenceGuidesBlogDiscord/
node:test/
default/
MockTracker/
fnMfn
Search the reference...
/
BuildDocsReferenceGuidesBlogDiscord/
node:test/
default/
MockTracker/
fnMfn
method
test.default.MockTracker.fn {
let cnt = 0;
function addOne() {
cnt++;
return cnt;
}
function addTwo() {
cnt += 2;
return cnt;
}
const fn = t.mock.fn(addOne, addTwo, { times: 2 });
assert.strictEqual(fn(), 2);
assert.strictEqual(fn(), 4);
assert.strictEqual(fn(), 5);
assert.strictEqual(fn(), 6);
});
```" data-algolia-static="false" data-algolia-merged="false" data-type="Method">
fnF extends Function = (...args: any[]) => undefined>(original?: F,options?:
MockFunctionOptions):
MockF>;
This function is used to create a mock function.
The following example creates a mock function that increments a counter by one on each invocation. The times option is used to modify the mock behavior such that the first two invocations add two to the counter instead of one.
test('mocks a counting function', (t) => {
let cnt = 0;
function addOne() {
cnt++;
return cnt;
}
function addTwo() {
cnt += 2;
return cnt;
}
const fn = t.mock.fn(addOne, addTwo, { times: 2 });
assert.strictEqual(fn(), 2);
assert.strictEqual(fn(), 4);
assert.strictEqual(fn(), 5);
assert.strictEqual(fn(), 6);
});
@param original
An optional function to create a mock on.
@param options
Optional configuration options for the mock function.
@returns
The mocked function. The mocked function contains a special mock property, which is an instance of MockFunctionContext, and can be used for inspecting and changing the behavior of the mocked function.
fnF extends Function = (...args: any[]) => undefined, Implementation extends Function = F>(original?: F,implementation?: Implementation,options?:
MockFunctionOptions):
MockF | Implementation>;
Resources
ReferenceDocsGuidesDiscordMerch StoreGitHubBlog Toolkit
RuntimePackage managerTest runnerBundlerPackage runnerProject
Bun 1.0Bun 1.1Bun 1.2Bun 1.3RoadmapContributingLicenseBaked with ❤️ in San Francisco
We're hiring →