流星反应笑话测试
Meteor react jest testing
简单的玩笑测试只是为了检查反应组件是否可以渲染,但它失败了,因为我导入了
import { Meteor } from 'meteor/meteor'
完整的错误是...
PASS imports/__partials/Navigation/__tests__/Navigation.jest.js
PASS imports/__layouts/AuthLayout/__tests__/AuthLayout.jest.js
FAIL imports/features/oAuth/ui/LoginLayout/__tests__/LoginLayout.jest.js
● Test suite failed to run
Cannot find module 'meteor/meteor' from 'index.js'
at Resolver.resolveModule (node_modules/jest-resolve/build/index.js:142:17)
at Object.<anonymous> (imports/features/oAuth/ui/LoginLayout/index.js:2:41)
at Object.<anonymous> (imports/features/oAuth/ui/LoginLayout/__tests__/LoginLayout.jest.js:4:40)
PASS imports/staticTests/quickCheckboxTest/__tests__/CheckboxWithLabel.jest.js
PASS imports/staticTests/quickLinkTest/__tests__/Link.react.jest.js
我假设它是因为 meteor 没有构建,因此 meteor/meteor
不存在,任何帮助让它工作的帮助将不胜感激。 :)
编辑...
我的假设是正确的,这主要是因为 meteor 还没有构建 npm 模块。
您可以在您的 jest 配置文件中使用 "moduleNameMapper" 轻松地存根 Meteor 模块:
"moduleNameMapper": {
"^meteor/(.*)": "<rootDir>/meteorMocks.js"
}
并且在 meteorMocks.js 中:
export const Meteor = {
call: () => null,
// ... more stuff you'd like to mock on the Meteor object
};
那你可以做
import { Meteor } from 'meteor/meteor';
在你的测试文件中。
只需对您需要模拟的所有模块执行相同操作(例如 Tracker
或 ReactiveVar
)。
简单的玩笑测试只是为了检查反应组件是否可以渲染,但它失败了,因为我导入了
import { Meteor } from 'meteor/meteor'
完整的错误是...
PASS imports/__partials/Navigation/__tests__/Navigation.jest.js
PASS imports/__layouts/AuthLayout/__tests__/AuthLayout.jest.js
FAIL imports/features/oAuth/ui/LoginLayout/__tests__/LoginLayout.jest.js
● Test suite failed to run
Cannot find module 'meteor/meteor' from 'index.js'
at Resolver.resolveModule (node_modules/jest-resolve/build/index.js:142:17)
at Object.<anonymous> (imports/features/oAuth/ui/LoginLayout/index.js:2:41)
at Object.<anonymous> (imports/features/oAuth/ui/LoginLayout/__tests__/LoginLayout.jest.js:4:40)
PASS imports/staticTests/quickCheckboxTest/__tests__/CheckboxWithLabel.jest.js
PASS imports/staticTests/quickLinkTest/__tests__/Link.react.jest.js
我假设它是因为 meteor 没有构建,因此 meteor/meteor
不存在,任何帮助让它工作的帮助将不胜感激。 :)
编辑...
我的假设是正确的,这主要是因为 meteor 还没有构建 npm 模块。
您可以在您的 jest 配置文件中使用 "moduleNameMapper" 轻松地存根 Meteor 模块:
"moduleNameMapper": {
"^meteor/(.*)": "<rootDir>/meteorMocks.js"
}
并且在 meteorMocks.js 中:
export const Meteor = {
call: () => null,
// ... more stuff you'd like to mock on the Meteor object
};
那你可以做
import { Meteor } from 'meteor/meteor';
在你的测试文件中。
只需对您需要模拟的所有模块执行相同操作(例如 Tracker
或 ReactiveVar
)。