김정수*_*김정수 9 vue.js jestjs vuejs2 vue-cli vue-jest
我们正在将 Jest 引入现有项目。
不过,我写了一个示例测试代码。出现上述错误。
ReferenceError: Vue is not defined
1 | import User from "../components/modal/ad/AdAdd";
> 2 | import { mount } from "@vue/test-utils";
| ^
3 |
4 | describe("user component", () => {
5 | let wrapper;
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
ReferenceError: Vue is not defined
1 | import User from "../components/modal/ad/AdAdd";
> 2 | import { mount } from "@vue/test-utils";
| ^
3 |
4 | describe("user component", () => {
5 | let wrapper;
Run Code Online (Sandbox Code Playgroud)
//User.test.js
import User from "../components/modal/ad/AdAdd";
import { mount } from "@vue/test-utils";
describe("user component", () => {
let wrapper;
beforeEach(() => {
wrapper = mount(User);
});
test("render", () => {
expect(wrapper.vm.oSid).toBe(0);
});
});
Run Code Online (Sandbox Code Playgroud)
export default {
data() {
return {
Sid: 0,
deleteList: [],
};
},
Run Code Online (Sandbox Code Playgroud)
我刚刚安装了它,但它说视图未定义。我不知道如何解决。
怎么了??
我已经好几天没能解决上述错误了。
我想解决它。任何帮助,将不胜感激。
Ein*_*din 25
我对 vue3 和 jest v.28 遇到了同样的错误,解决方法是添加
testEnvironmentOptions: {
customExportConditions: ["node", "node-addons"],
},
Run Code Online (Sandbox Code Playgroud)
进入jest.config.js。这会覆盖从jest 配置页中exports解释package.json的加载的库的版本。由于它默认为for ,并且我失败的测试都是针对 UI 的,因此可能没有为环境导入正确的库。['browser']jest-environment-jsdomjsdom
或者,如果您想要一个不影响其他导入的解决方案,请将其添加到jest.config.js:
moduleNameMapper: {
"^@vue/test-utils": "<rootDir>/node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js"
}
Run Code Online (Sandbox Code Playgroud)
这将告诉 Jest 导入'node'的版本@vue/test-utils而不影响其他导入。
| 归档时间: |
|
| 查看次数: |
6070 次 |
| 最近记录: |