/
githubmirror
/
node
Обзор
Документация
Войти
/
githubmirror
/
node
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
benchmark/test_runner/mock-fn.js
48 строк
967 B
Aviv Keller
benchmark: add `test_runner/mock-fn`
11 ноя 2024, 23:45
Не верифицирован
11 ноя 2024, 23:45
2d63dee
Код
Авторство
О чём код?
'use strict'; const common = require('../common'); const assert = require('node:assert'); const { test } = require('node:test'); const bench = common.createBenchmark(main, { n: [1e6], mode: ['define', 'execute'], }, { // We don't want to test the reporter here flags: ['--test-reporter=./benchmark/fixtures/empty-test-reporter.js'], }); const noop = () => {}; function benchmarkDefine(n) { let noDead; test((t) => { bench.start(); for (let i = 0; i < n; i++) { noDead = t.mock.fn(noop); } bench.end(n); assert.ok(noDead); }); } function benchmarkExecute(n) { let noDead; test((t) => { const mocked = t.mock.fn(noop); bench.start(); for (let i = 0; i < n; i++) { noDead = mocked(); } bench.end(n); assert.strictEqual(noDead, noop()); }); } function main({ n, mode }) { if (mode === 'define') { benchmarkDefine(n); } else if (mode === 'execute') { benchmarkExecute(n); } }