我尝试将Jest
与VueJS
和Quasar framework
一起使用。我写了简单的测试:
import { GetUserDictionaryDataComponent, Component } from '@/pages/configurations/components/';
describe('GetUserDictionaryDataComponent', () => {
it('should get correct type', () => {
const component = new GetUserDictionaryDataComponent(undefined);
expect(component.getComponentType()).toBe(Component.LEAF);
});
});
但是它不能正常工作。当我尝试运行测试时,出现错误:
Test suite failed to run
Configuration error:
Could not locate module @/pages/configurations/components/ mapped as:
/home/user/git/my_project/client/src/pages/configurations/components/.
Please check your configuration for these entries:
{
"moduleNameMapper": {
"/^@\/(.*)$/": "/home/user/git/my_project/client/src/$1"
},
"resolver": null
}
> 1 | import { GetUserDictionaryDataComponent, Component } from '@/pages/configurations/components/';
| ^
2 |
3 | describe('GetUserDictionaryDataComponent', () => {
4 | it('should get correct type', () => {
at createNoMappedModuleFoundError (node_modules/@jest/core/node_modules/jest-resolve/build/index.js:472:17)
at Object.<anonymous> (src/tests/pages/configurations/components/GetUserDictionaryDataComponent.spec.js:1:1)
但是,我不明白为什么会出现此错误。我检查了,路径/home/user/git/my_project/client/src/pages/configurations/components/
是正确的,我的课程在那里。
答案 0 :(得分:3)
对我来说,这是最简单的错字。我正在使用
Inspectors.NewInspector
但我的文件名为"\\.(css|less)$": "<rootDir>/__mocks__/styleMocks.js"
希望这对任何人都有帮助
答案 1 :(得分:2)
保持 <rootDir>
不变,如果您只想指向 package.json 所在的路径。
我以为我的 webpack 也有类似的问题。对我来说,我没有读完 Jest 文档并认为 <rootDir>
是我的根目录路径的某种占位符。这不是……
答案 2 :(得分:1)
我写了这个:
import GetUserDictionaryDataComponent from '@/pages/configurations/components/GetUserDictionaryDataComponent';
import Component from '@/pages/configurations/components/Component';
对我有用。
答案 3 :(得分:0)
Camel case 重要
import Component from @/pages/configurations/components/Component;