如何在Jest中清除模拟函数中的间谍?如果原始函数不是jest.fn(),那么jest.restoreAllMocks()可以很好地工作。如何正确清除jest.fn()中的所有间谍?这个问题可能是How to change mock implementation on a per single test basis [Jestjs]的重复,尽管我的问题描述了一个更简单的场景,其中不涉及多个模块。 describe('Mock', () => {
const mock = {
method1: jest.fn().mockReturnValue(false),
我试图使用jest来模拟整个对象(ColumnApi来自ag-grid),然后通过参数传递给某个函数,该函数从ColumnApi调用方法"getAllColumns“。我不在乎"getAllColumns“是如何工作的,但我希望它返回一些特定的列数组(Column[])。如何创建此对象/模拟以同时实现:
通过参数将其传递给某个函数,该函数要求该对象的一个函数的ColumnApi类型模拟返回值。
测试:
describe("test", () => {
// my fruitless tries to create the mock / ob
基本上,我想确保使用某些属性调用分析方法,但到目前为止,它还不起作用:
Cannot spy the logAppOpen property because it is not a function; undefined given instead
库被成功地模拟,因为我可以看到控制台注销了我的jest.fn():
jest.mock('@react-native-firebase/analytics', () => {
return () => ({
logAppOpen: jest.fn(() => console.log('
我正在尝试编写一个测试,以确保在适当的时候用特定的消息调用一个特定的函数(在本例中,是一个哨兵函数)。但是,当我编写这个测试时,它会失败,并得到以下消息。如何在captureMessage中正确地模拟handleError.test.js函数以确保在handleError.js中使用"this is an error message."字符串正确地调用它?谢谢!
错误消息:
错误: expect(jest.fn()).not.toHaveBeenCalledWith()
jest.fn()值必须是模拟函数或间谍。接收:功能:函数captureMessage
handle
我想使用jest.spyOn来模拟仅用于the first call的方法的实现。在第二、第三次...nth调用时,要调用它的实际实现。
我在ts中尝试了以下几种方法,但都不起作用:
import handler from '../src/handler';
import * as cRedis from '../src/redis';
jest.spyOn(cRedis, 'rGetAsync');
describe('handle cart quantity validation', () => {
test
所以我有一个叫做A的模块,它有两个函数:
function handleCreatedOrder(){
console.log("here")
}
function acquireOrder(){
if(condition) handleCreatedOrder
}
我有一个测试,需要检查handleCreatedOrder是否正在被调用。我通过首先导入模块import * as acquireOrderWrapper from './module'来模拟模块
然后在测试中我用let handleCreatedOrderSpy = jest.spyOn