«Песочница Sinon» — это английский термин, используемый в разработке программного обеспечения, особенно в контексте модульного тестирования кода JavaScript. Песочница Sinon — это функция, предоставляемая библиотекой Sinon.js, которая обычно используется для создания и управления двойниками тестов, таких как шпионы, заглушки и макеты.
В модульном тестировании песочница — это контейнер, предоставляющий контролируемую среду для тестирования кода. Песочница Sinon помогает изолировать и контролировать поведение тестируемого кода, предоставляя методы для создания двойников тестов и управления ими. Вот некоторые распространенные методы, предоставляемые песочницей Sinon, с примерами кода:
sandbox.stub(object, MethodName[, fakeFn]): этот метод создает заглушку для указанного метода объекта. Заглушка заменяет исходный метод и позволяет контролировать его поведение во время тестирования.
const sinon = require('sinon');
// Create a sandbox
const sandbox = sinon.createSandbox();
// Create a stub for a method
const stub = sandbox.stub(console, 'log');
// Use the stub in your test
console.log('Hello, World!');
// Verify the stub behavior
sinon.assert.calledOnce(stub);
sandbox.spy(object, MethodName): этот метод создает шпиона для указанного метода объекта. Шпион оборачивает исходный метод и позволяет отслеживать его вызовы.
const sinon = require('sinon');
// Create a sandbox
const sandbox = sinon.createSandbox();
// Create a spy for a method
const spy = sandbox.spy(console, 'log');
// Use the spy in your test
console.log('Hello, World!');
// Verify the spy behavior
sinon.assert.calledOnce(spy);
sandbox.mock(object): этот метод создает макет объекта, который можно использовать для определения ожиданий и поведения для нескольких вызовов методов.
const sinon = require('sinon');
// Create a sandbox
const sandbox = sinon.createSandbox();
// Create a mock object
const mock = sandbox.mock(Math);
// Define expectations and behaviors
mock.expects('random').twice().returns(0.5);
// Use the mock in your test
console.log(Math.random());
console.log(Math.random());
// Verify the mock behavior
mock.verify();
Это всего лишь несколько примеров методов, предоставляемых песочницей Sinon. Библиотека предлагает множество дополнительных функций и методов для расширенных сценариев тестирования.