我正在尝试为Vue编写单元测试,它是在Laravel环境中建立的。我按照这篇文章设置项目进行测试。但它并没有像预期的那样工作,我在运行npm测试时遇到了这个错误。
> @ test G:\Unit testing\Vue-Laravel
> mochapack --webpack-config=node_modules/laravel-mix/setup/webpack.config.js --require tests/js/setup.js tests/js/\*\*/\*.spec.js
(node:3224) UnhandledPromiseRejectionWarning: G:\Unit testing\Vue-Laravel\tests\js\setup.js:3
import { mount } from '@vue/test-utils';
^
SyntaxError: Unexpected token {
at Module._compile (internal/modules/cjs/loader.js:723:23)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
at Module.require (internal/modules/cjs/loader.js:692:17)
at require (internal/modules/cjs/helpers.js:25:18)
at exports.requireOrImport (G:\Unit testing\Vue-Laravel\node_modules\mocha\lib\esm-utils.js:20:12)
at Object.exports.handleRequires (G:\Unit testing\Vue-Laravel\node_modules\mocha\lib\cli\run-helpers.js:94:34)
at mochaChecks (G:\Unit testing\Vue-Laravel\node_modules\mochapack\lib\cli\argsParser\parseArgv\mocha\parseMochaArgs.js:60:19)
(node:3224) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2)
WEBPACK Compiling...
[=========================] 98% (after emitting)
DONE Compiled successfully in 198ms 12:25:43 AM
[=========================] 100% (completed)
WEBPACK Compiled successfully in 198ms
MOCHA Testing...
0 passing (0ms)
MOCHA Tests completed successfully"
require('jsdom-global')();
import { mount } from '@vue/test-utils';
import expect from 'expect';
import App from '../../../resources/js/App.vue';
describe('App.vue', () => {
it('says Hello Vue!', () => {
const wrapper = mount(App);
expect(wrapper.html()).toContain('Hello Vue!');
});
});
<template>
<div>
<h1>
{{ msg }}
</h1>
</div>
</template>
<script>
export default {
name: 'app-component',
data(){
return {
msg : "Hello Vue!"
}
}
}
</script>
此存储库包含整个代码。
当我将测试代码提取到一个单独的文件时,这个问题得到了解决。
require('jsdom-global')();
import { mount } from '@vue/test-utils';
import expect from 'expect';
import App from '../../../resources/js/App.vue';
describe('App.vue', () => {
it('says Hello Vue!', () => {
const wrapper = mount(App);
expect(wrapper.html()).toContain('Hello Vue!');
});
});
{
"test:unit": "cross-env NODE_ENV=testing mochapack --webpack-config=node_modules/laravel-mix/setup/webpack.config.js --require tests/Vue/Unit/setup.js tests/Vue/Unit/**/*.spec.js"
}
问题内容: 我不明白怎么了。我在其他论坛上讨论了翻译和通天塔。我需要做什么? 我的代码: 和错误 问题答案: ES6导入是最近引入的功能,并且Node的当前稳定版本尚不支持它们。Node.js问题跟踪器对此存在一个未解决的问题 -但在V8和Node添加对此功能的支持之前,您将需要使用编译器(最受欢迎的是babel)才能使用导入。 为了快速尝试转译,babel提供了基于Web的REPL。这段演示了您
问题内容: 我目前正在练习使用Javascript / Dojo。但是,我有一个无法解决的错误: 未捕获的SyntaxError:意外令牌o 我已快速摘录了我的问题: 它专门针对以下方面: 我想知道为什么这是错误以及如何解决。 问题答案: 您正在尝试解析JavaScript对象。用于解析 表示 类似JavaScript的对象的JSON字符串。 只需完全跳过解析: 在相关说明中:您可能有兴趣阅读 “
问题内容: 尝试进行呼叫并检索一个非常简单的一行JSON文件。 这是RAW请求: 这是RAW回应: 响应中返回了JSON(红色:#f00),但Chrome报告了 Uncaught SyntaxError:Unexpected token:colors.json:1 如果我直接导航到url本身,则返回JSON并显示在浏览器中。 如果我将colors.json的内容粘贴到JSLINT中,则json
问题内容: 当我使用babel观看jsx文件时。但是存在语法错误。 在此之前,我使用react-tools进行观看,一切都很好。 以下是我的代码。 问题答案: 前几天我遇到了类似的问题。看来babel现在需要一些其他插件才能与react一起工作。
当我运行测试时,代码中出现了“意外的令牌错误: 错误被抛出到“( 我写过笑话测试。这是我第一次使用酶和react编写测试用例。所以我不熟悉这个设置。我已经安装了:babel jest、react dom、babel插件转换导出扩展、enzyme-adapter-react-16、react测试渲染器、@babel/preset env和@babel/core package.json: jest.
问题内容: 我是React + Webpack的初学者。 我在Hello World Web应用程序中发现一个奇怪的错误。 我在webpack中使用babel-loader来帮助我将jsx转换为js,但是babel似乎无法理解jsx语法。 这是我的依赖项: 这是我的 这是我的 这是错误消息 谢谢你们 问题答案: 添加“ babel-preset-react” 并在webpack.config.js