MockTracker.property method | Node.js node:test module | Bun
BuildDocsReferenceGuidesBlogDiscord/
node:test/
default/
MockTracker/
propertyMproperty
Search the reference...
/
BuildDocsReferenceGuidesBlogDiscord/
node:test/
default/
MockTracker/
propertyMproperty
method
test.default.MockTracker.property {
const obj = { foo: 42 };
const prop = t.mock.property(obj, 'foo', 100);
assert.strictEqual(obj.foo, 100);
assert.strictEqual(prop.mock.accessCount(), 1);
assert.strictEqual(prop.mock.accesses[0].type, 'get');
assert.strictEqual(prop.mock.accesses[0].value, 100);
obj.foo = 200;
assert.strictEqual(prop.mock.accessCount(), 2);
assert.strictEqual(prop.mock.accesses[1].type, 'set');
assert.strictEqual(prop.mock.accesses[1].value, 200);
prop.mock.restore();
assert.strictEqual(obj.foo, 42);
});
```" data-algolia-static="false" data-algolia-merged="false" data-type="Method">
propertyMockedObject extends object, PropertyName extends string | number | symbol>(object: MockedObject,property: PropertyName,value?: MockedObject[PropertyName]): MockedObject & { mock:
MockPropertyContextMockedObject[PropertyName]> };
Creates a mock for a property value on an object. This allows you to track and control access to a specific property, including how many times it is read (getter) or written (setter), and to restore the original value after mocking.
test('mocks a property value', (t) => {
const obj = { foo: 42 };
const prop = t.mock.property(obj, 'foo', 100);
assert.strictEqual(obj.foo, 100);
assert.strictEqual(prop.mock.accessCount(), 1);
assert.strictEqual(prop.mock.accesses[0].type, 'get');
assert.strictEqual(prop.mock.accesses[0].value, 100);
obj.foo = 200;
assert.strictEqual(prop.mock.accessCount(), 2);
assert.strictEqual(prop.mock.accesses[1].type, 'set');
assert.strictEqual(prop.mock.accesses[1].value, 200);
prop.mock.restore();
assert.strictEqual(obj.foo, 42);
});
@param object
The object whose value is being mocked.
@param value
An optional value used as the mock value for object[propertyName]. Default: The original property value.
@returns
A proxy to the mocked object. The mocked object contains a special mock property, which is an instance of [MockPropertyContext][], and can be used for inspecting and changing the behavior of the mocked property.
Resources
ReferenceDocsGuidesDiscordMerch StoreGitHubBlog Toolkit
RuntimePackage managerTest runnerBundlerPackage runnerProject
Bun 1.0Bun 1.1Bun 1.2Bun 1.3RoadmapContributingLicenseBaked with ❤️ in San Francisco
We're hiring →