Dev*_*ime 4 chai vue.js vuejs2 vue-test-utils
如何访问dataVue 测试实例中的属性?
我看到您可以访问props,但没有data等效项。我可以通过使用类似的东西来获取数据属性wrapper.vm.foo,但我觉得还有另一种方法可能更符合测试框架的要求。
应用程序
<script>
export default {
data() {
return {
foo: 'bar'
}
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
应用规范.js
import { shallowMount } from '@vue/test-utils'
import App from '@/App.vue'
import { expect } from 'chai';
describe("App.vue", () => {
let wrapper;
beforeEach(() => {
// use this to check the state of anything in the view
wrapper = shallowMount(App)
});
it("Module has the expected data attribute", () => {
expect(wrapper.vm.foo).to.equal('bar'); // passes
expect(wrapper.foo).to.equal('bar'); // fails
expect(wrapper.data('foo')).to.equal('bar'); // fails
expect(wrapper.data().foo).to.equal('bar'); // fails
});
it('simple passing test', () => {
expect(1).to.equal(1);
});
});
Run Code Online (Sandbox Code Playgroud)
这可能是可能的,但这.vm是正确的方法。
vue-test-utils 文档中的示例:
it('button click should increment the count', () => {
expect(wrapper.vm.count).toBe(0)
const button = wrapper.find('button')
button.trigger('click')
// `wrapper.vm.count` it is!
expect(wrapper.vm.count).toBe(1)
})
Run Code Online (Sandbox Code Playgroud)