Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将Vue.js添加到Rails 5.1和Mocha don'中的单元测试;行不通_Javascript_Ruby On Rails_Webpack_Vue.js_Mocha.js - Fatal编程技术网

Javascript 将Vue.js添加到Rails 5.1和Mocha don'中的单元测试;行不通

Javascript 将Vue.js添加到Rails 5.1和Mocha don'中的单元测试;行不通,javascript,ruby-on-rails,webpack,vue.js,mocha.js,Javascript,Ruby On Rails,Webpack,Vue.js,Mocha.js,回购可在以下网址获得: 我通过运行命令rails\u5.1.2\unewvuetesting--webpack=vue创建了一个rails应用程序 然后添加了摩卡和柴纱线添加摩卡柴--save dev 然后通过运行mkdir test/javascript 然后我创建了一个spec文件来运行touch-app/javascript/app.spec.js 并粘贴在以下代码中: const chai = require('chai') const expect = chai.expect de

回购可在以下网址获得:

我通过运行命令
rails\u5.1.2\unewvuetesting--webpack=vue
创建了一个rails应用程序

然后添加了摩卡和柴
纱线添加摩卡柴--save dev

然后通过运行
mkdir test/javascript

然后我创建了一个spec文件来运行
touch-app/javascript/app.spec.js

并粘贴在以下代码中:

const chai = require('chai')

const expect = chai.expect

describe('first test', () => {
  it('is true', () => {
    expect(true).to.equal(true)
  })
})
并将以下内容添加到
package.json

"scripts": {
  "test": "mocha test/**/*.spec.js --recursive"
}
现在先前的纱线测试通过了。让我们尝试实现一个特定于Vue的测试

我运行命令添加avoriaz mocha webpack--save dev

然后修改package.json以使用mocha网页包:

  "scripts": {
    "test": "mocha-webpack test/**/*.spec.js --recursive"
  }
纱线测试
仍然通过

现在我想测试单文件组件。首先,我在测试的顶部添加了以下内容:

import Vue from 'vue';
import App from '../../app/javascript/packs/App.vue';

const chai = require('chai')
const expect = chai.expect

describe('first test', () => {
  it('is true', () => {
    expect(true).to.equal(true)
  })
})
然后运行
纱线测试
,得到以下输出

yarn test v0.27.5
$ mocha-webpack test/**/*.spec.js --recursive

ERROR in ./app/javascript/packs/App.vue
Module parse failed: /Users/natedalo/Ruby/vuetesting/app/javascript/packs/App.vue Unexpected token (1:0)
You may need an appropriate loader to handle this file type.
| <template>
|   <div id="app">
|     <p>{{ message }}</p>
 @ ./test/javascript/App.spec.js 2:0-53
error Command failed with exit code 1.
纱线测试v0.27.5
$mocha webpack test/***.spec.js——递归
./app/javascript/packs/app.vue中出错
模块解析失败:/Users/natedalo/Ruby/vuetesting/app/javascript/packs/app.vue意外令牌(1:0)
您可能需要适当的加载程序来处理此文件类型。
| 
|   
|{{message}

@/test/javascript/App.spec.js 2:0-53 错误命令失败,退出代码为1。
对可能出现的问题有什么想法吗?

作为指导,从上面的链接复制webpack.config.js和.setup文件,然后将测试运行更改为package.json中的以下内容:


“test”:“mocha webpack--webpack config test/javascript/webpack.test.config.js test/***.spec.js--recursive--require test/javascript/.setup”

我猜
mocha webpack
无法找到webpack gem创建的webpack配置文件。也许有一个配置选项。