diff --git a/doc/api/assert.md b/doc/api/assert.md index e908b70cee4df7..182fead806b5a7 100644 --- a/doc/api/assert.md +++ b/doc/api/assert.md @@ -221,11 +221,18 @@ try { added: - v14.2.0 - v12.19.0 +changes: + - version: REPLACEME + pr-url: https://github.com/nodejs/node/pull/47740 + description: the `assert.CallTracker` class has been deprecated and will be + removed in a future version. --> -> Stability: 1 - Experimental +> Stability: 0 - Deprecated -This feature is currently experimental and behavior might still change. +This feature is deprecated and will be removed in a future version. +Please consider using alternatives such as the +[`mock`][] helper function. ### `new assert.CallTracker()` @@ -2555,6 +2562,7 @@ argument. [`assert.strictEqual()`]: #assertstrictequalactual-expected-message [`assert.throws()`]: #assertthrowsfn-error-message [`getColorDepth()`]: tty.md#writestreamgetcolordepthenv +[`mock`]: test.md#mocking [`process.on('exit')`]: process.md#event-exit [`tracker.calls()`]: #trackercallsfn-exact [`tracker.verify()`]: #trackerverify diff --git a/doc/api/deprecations.md b/doc/api/deprecations.md index 90b7580caee0a0..e9d0270280c701 100644 --- a/doc/api/deprecations.md +++ b/doc/api/deprecations.md @@ -3318,6 +3318,21 @@ In a future version of Node.js, [`message.headers`][], [`message.headersDistinct`][], [`message.trailers`][], and [`message.trailersDistinct`][] will be read-only. +### DEP0173: the `assert.CallTracker` class + + + +Type: Documentation-only + +In a future version of Node.js, [`assert.CallTracker`][], +will be removed. +Consider using alternatives such as the [`mock`][] helper function. + [NIST SP 800-38D]: https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38d.pdf [RFC 6066]: https://tools.ietf.org/html/rfc6066#section-3 [RFC 8247 Section 2.4]: https://www.rfc-editor.org/rfc/rfc8247#section-2.4 @@ -3341,6 +3356,7 @@ In a future version of Node.js, [`message.headers`][], [`Server.listen({fd: })`]: net.md#serverlistenhandle-backlog-callback [`SlowBuffer`]: buffer.md#class-slowbuffer [`WriteStream.open()`]: fs.md#class-fswritestream +[`assert.CallTracker`]: assert.md#class-assertcalltracker [`assert`]: assert.md [`asyncResource.runInAsyncScope()`]: async_context.md#asyncresourceruninasyncscopefn-thisarg-args [`buffer.subarray`]: buffer.md#bufsubarraystart-end @@ -3399,6 +3415,7 @@ In a future version of Node.js, [`message.headers`][], [`message.socket`]: http.md#messagesocket [`message.trailersDistinct`]: http.md#messagetrailersdistinct [`message.trailers`]: http.md#messagetrailers +[`mock`]: test.md#mocking [`module.createRequire()`]: module.md#modulecreaterequirefilename [`os.networkInterfaces()`]: os.md#osnetworkinterfaces [`os.tmpdir()`]: os.md#ostmpdir diff --git a/lib/assert.js b/lib/assert.js index 04c2dd3bfcfdfb..106ae486de501a 100644 --- a/lib/assert.js +++ b/lib/assert.js @@ -66,7 +66,7 @@ const { inspect } = require('internal/util/inspect'); const { isPromise, isRegExp } = require('internal/util/types'); const { EOL } = require('internal/constants'); const { BuiltinModule } = require('internal/bootstrap/loaders'); -const { isError } = require('internal/util'); +const { isError, deprecate } = require('internal/util'); const errorCache = new SafeMap(); const CallTracker = require('internal/assert/calltracker'); @@ -1049,7 +1049,7 @@ assert.doesNotMatch = function doesNotMatch(string, regexp, message) { internalMatch(string, regexp, message, doesNotMatch); }; -assert.CallTracker = CallTracker; +assert.CallTracker = deprecate(CallTracker, 'assert.CallTracker is deprecated.', 'DEP0173'); /** * Expose a strict only variant of assert.