我的Jest配置细节是
jest.config.js
module.exports = {
transform: {
'^.+\\.svelte$': 'svelte-jester',
'^.+\\.js$': 'babel-jest',
},
moduleFileExtensions: ['js', 'svelte'],
}babel.config.js
module.exports = {
presets: [
[
'@babel/preset-env',
{
targets: {
node: 'current',
},
},
],
],
}package.json
.
.
"@babel/core": "^7.10.2",
"@babel/preset-env": "^7.10.2",
"babel-jest": "^26.0.1",
"jest": "^26.0.1",
"svelte-jester": "^1.0.6",
"@testing-library/svelte": "^3.0.0"
},
"scripts": {
"build": "cross-env NODE_ENV=production webpack",
"dev": "webpack-dev-server --content-base public",
"test": "jest src",
"test:watch": "npm run test -- --watch"
},
.
.我创建了test.spec.js src/test文件夹,如下所示
import {fireEvent, render} from '@testing-library/svelte';
import App from '../App.svelte';
describe('test', () => {
test('Just a mock test', async () => {
const myMock = jest.fn();
console.log(myMock());
myMock.mockReturnValueOnce(10).mockReturnValueOnce('x').mockReturnValue(true);
console.log(myMock(), myMock(), myMock(), myMock());
});
});请注意,我只为测试目的使用了一个jest模拟函数,但是每当我导入一个svelte文件(在本例中为App.svelte )时,我就会得到一个错误,如下所示
未能运行src/ Test /test.spec.js测试套件
ParseError: Identifier is expected发布于 2020-06-15 14:16:48
我找到了解决此解析错误的可能方法。显然,IDE无法解析在样式标记中定义的test.svelte文件中的某些样式类,这就是它显示ParseError的原因。我建议任何遇到此错误的人在中检查您的svelte文件是否存在错误,因为svelte测试库在执行任何测试函数之前都会对整个文件进行解析。
https://stackoverflow.com/questions/62341872
复制相似问题