- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试向我正在开发的 Node 应用程序添加一些测试。我浏览了手动模拟的笑话文档,并尝试按照指示创建 mocks 文件夹。请在下面找到文件夹结构。
app
- firebase
- fb.js
- __mocks__
- fb.js
- firebase-admin.js
- resolvers
- mutation.js
__tests__
- user.spec.js
如您所见,我尝试模拟两个模块,fb.js(用户模块)和 firebase-admin.js(node_modules 模块)。 firebase-admin.js 模拟工作没有任何问题。但是用户模块 mock 甚至没有被 jest 接受。实际的 fb.js 模块一直在被调用。
我已经尝试在我的项目中为各种用户模块创建mocks 目录,但没有一个被选中。我缺少任何额外的配置吗??。目前我正在通过仅模拟 firebase-admin Node 模块来解决这个问题。但是我想模拟用户模块而不是 firebase-admin 模块,这样我的 firebase 配置也会被模拟。如果需要更多信息,请告诉我。
__mocks__/fb.js
module.exports = {
auth: jest.fn(() => "testing")
};
__mocks__/fb-admin.js
module.exports = {};
__tests__/user.spec.js
const request = require('supertest');
const server = require('../app').createHttpServer({});
const app = request(server);
describe('login resolvers', () => {
test('should sign up user', async () => {
const response = await app.post('/')
.send({
query: `mutation {
signUp(idToken: "esd45sdfd...") {
user {
id
locked
revoked
}
}
}
`,
})
.set('Accept', 'application/json')
.expect(200);
console.log(response.text);
});
});
应用程序/解析器/mutation.js
const admin = require('../firebase/fb');
/* other app code here */
最佳答案
When we require that module in our tests, then explicitly calling
jest.mock('./moduleName')
is required.If the module you are mocking is a Node module (e.g.:
lodash
), the mock should be placed in the__mocks__
directory adjacent tonode_modules
(unless you configured roots to point to a folder other than the project root) and will be automatically mocked. There's no need to explicitly calljest.mock('module_name')
.
关于javascript - 使用 __mocks__ 的手动模拟不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55571012/
我正在尝试向我正在开发的 Node 应用程序添加一些测试。我浏览了手动模拟的笑话文档,并尝试按照指示创建 mocks 文件夹。请在下面找到文件夹结构。 app - firebase - fb.j
我大致有以下结构 Root ├ __tests__ ├ Directory0 │ ├ childA │ │ └ __mocks__ │ │ └ module_a.js │
对于我拥有的每个手动模拟,我都会收到来自 Jest 的警告,因为它同时找到了它的 .ts 和 .js 版本,并要求我删除一个,即: jest-haste-map: duplicate manual m
我有一个名为 retry 的实用函数,它用一些重试逻辑包装传递的函数(下面的简化版本)。 在某些测试中,我只想调用传递的函数一次,而不是执行重试逻辑。 app/retry.js module.expo
我已经开始在 Jest 中使用 mocks 来测试我的 NodeJS 应用程序并且它们工作得很好,但是将 __mocks__ 文件夹移动到 /test 文件夹会更有意义所以与测试相关的所有内容都在那里
我的应用程序有一个正常运行的 Jest/Flow 设置。我们切换到 TypeScript,我的所有测试都失败了。我将所有内容都转换为 .ts 和 .test.ts 并修复了所有错误。出于某种原因,我的
我有一个__mocks__文件夹,其中有一个名为Example.ts的文件。文件内容(为简单起见简称)。我有一个测试文件,其中我在所有测试用例中使用该变量。。特别是在其中一个地方,我希望将此变量的值覆
我有一个__mocks__文件夹,其中有一个名为Example.ts的文件。文件内容(为简单起见简称)。我有一个测试文件,其中我在所有测试用例中使用该变量。。特别是在其中一个地方,我希望将此变量的值覆
我是一名优秀的程序员,十分优秀!