Vue.js 如何使用Vue、Karma和browserify创建单元测试用例

Vue.js 如何使用Vue、Karma和browserify创建单元测试用例,vue.js,karma-jasmine,Vue.js,Karma Jasmine,我正在尝试为我现有的Vue项目构建一些单元测试用例。 我在那里找到了一些文档,但对于Watch、Promise和Then等函数的测试来说,这些文档并不特别有用。 关于使用Vue和这些插件进行单元测试,是否有任何具体和详细的指导方针 目标vue定义了一个名为test的函数 const vm = new Vue(target).$mount(); vm.test("message"); 但是错误消息是vm.test不是一个函数 我不知道为什么不能使用target.vue中定义的函数。 同时,一旦我

我正在尝试为我现有的Vue项目构建一些单元测试用例。 我在那里找到了一些文档,但对于Watch、Promise和Then等函数的测试来说,这些文档并不特别有用。 关于使用Vue和这些插件进行单元测试,是否有任何具体和详细的指导方针

目标vue定义了一个名为test的函数

const vm = new Vue(target).$mount();
vm.test("message");
但是错误消息是vm.test不是一个函数
我不知道为什么不能使用target.vue中定义的函数。
同时,一旦我使用测试功能更改某些数据,目标vue将自动更新数据。
但Vue.nextTick似乎无法解决这种情况。 有人能在这一点上帮助我吗? 非常感谢您的帮助。

Hello组件

export default {
  name: 'hello',
  data () {
    return {
      msg: 'Welcome to Your Vue.js App',
      test: 'Testing'
    }
  }
}
Hello.spec.js//用于测试Hello.vue

describe('Hello', () => {
  it('set correct default data', () => {
    expect(typeof Hello.data).to.equal('function')
    assert.typeOf(Hello.data, 'function')
    const defaultdata = Hello.data()
    expect(defaultdata.test).to.be.a('string')
    expect(defaultdata.test).to.equal('Testing')
  })
})

这是vue.js的Hello组件的测试用例,它是在创建新模板时自动创建的。这是使用Karma+Mocha+Chai。

此外,由于vue具有加载数据和呈现页面的promise功能,我们如何在数据加载过程完成后测试页面内容?