繁体   English   中英

将Vue.js添加到Rails 5.1和Mocha中的单元测试不起作用

[英]Adding Vue.js To Rails 5.1 and Unit Tests in Mocha don't work

Repo可在此处获取: https//github.com/systemnate/vuetesting

我通过运行命令rails _5.1.2_ new vuetesting --webpack=vue创建了一个rails应用程序

然后添加摩卡和柴yarn add mocha chai --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特定的测试。

我运行命令yarn add avoriaz mocha-webpack --save-dev

然后修改package.json以使用mocha-webpack:

  "scripts": {
    "test": "mocha-webpack test/**/*.spec.js --recursive"
  }

yarn test仍然通过。

现在我想测试单个文件组件。 首先,我添加到测试的顶部,所以它看起来像这样:

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并获得以下输出

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.

什么可能出错?

使用单元测试Vue组件为初学者作为指导,并从上面的链接复制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"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM