首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jest测试模拟函数返回未定义的(项目)

Jest测试模拟函数返回未定义的(项目)
EN

Stack Overflow用户
提问于 2021-04-25 11:32:57
回答 1查看 540关注 0票数 0

我正在为一个带有玩笑的小反应应用程序开发一个测试用例。

我已经在描述测试块的范围内声明了一个模拟函数。

当我在调试模式下运行测试时,我已经停止在react组件中的一个断点上运行,该断点接收模拟函数声明,而实现未定义。

有人知道这种行为的原因吗?

非常感谢!

代码语言:javascript
复制
 describe("Test App component", () => {
      describe("Test Component rendering", () => {
        const mockUtils = {
            debounceFunc: jest.fn((func) => {
              return func;
            }),
            isSomeStringEmpty: jest.fn(),
            confirmAction: jest.fn(),
          };
        test(`when render App component, then wrapper element should be rendered`, () => {
       
          render(<App utils={mockUtils} apiService={mockApiService} />);
    
          let appDiv = screen.getByTestId("app-test");
    
          expect(appDiv).toBeInTheDocument();
        });
    });
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-29 15:31:56

我找到了这种行为的答案。

原因是我在这个项目中使用creat应用程序,并且默认情况下在react脚本中使用node_modules/react-scripts/scripts/utils/createJestConfig.js

jest配置是用"resetMocks": true设置的

这意味着,在每次测试之前,jest都会重置所有的模拟。

默认情况下,没有creat应用程序配置有"resetMocks": false的玩笑。

要更改此配置,只需在package.json .package.json实例的根级添加此条目package.json实例即可。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67252912

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档