ctx.mockImplementation(implementation)


新增于: v19.1.0, v18.13.0

此函数用于更改现有模拟的行为。

\This function is used to change the behavior of an existing mock.

以下示例使用 t.mock.fn() 创建模拟函数,调用模拟函数,然后将模拟实现更改为不同的函数。

\The following example creates a mock function using t.mock.fn(), calls the mock function, and then changes the mock implementation to a different function.

test('changes a mock behavior', (t) => {
 let cnt = 0;
 function addOne() {
 cnt++;
 return cnt;
 }
 function addTwo() {
 cnt += 2;
 return cnt;
 }
 const fn = t.mock.fn(addOne);
 assert.strictEqual(fn(), 1);
 fn.mock.mockImplementation(addTwo);
 assert.strictEqual(fn(), 3);
 assert.strictEqual(fn(), 5);
}); 

AltStyle によって変換されたページ (->オリジナル) /