Vue 单元测试 - textContent 不包含预期的 propsData
Vue unit testing - textContent doesn't contain expected propsData
这是我的组件:
<template>
<div>
{{serviceConfig.name}}
</div>
</template>
<script>
export default {
props: ['serviceConfig']
}
</script>
在我的测试中,我是这样设置 serviceConfig 的:
it(`should render serviceConfig`, () => {
const Constructor = Vue.extend(TestMe2);
const comp = new Constructor({
propsData: {
serviceConfig: '{ "name": "Apple" }'
}
}).$mount();
expect(comp.serviceConfig).to.equal('{ "name": "Apple" }'); // successfull
expect(comp.$el.textContent).to.contain('Apple'); // unsuccessfull
});
但是,如果我更改模板以便呈现 {{serviceConfig}} 而不是 serviceConfig.name,它可以工作,但不是我想要的(因为我只想要名称,即 'Apple').
您传递的是字符串,而不是对象,如 serviceConfig
。
这是我的组件:
<template>
<div>
{{serviceConfig.name}}
</div>
</template>
<script>
export default {
props: ['serviceConfig']
}
</script>
在我的测试中,我是这样设置 serviceConfig 的:
it(`should render serviceConfig`, () => {
const Constructor = Vue.extend(TestMe2);
const comp = new Constructor({
propsData: {
serviceConfig: '{ "name": "Apple" }'
}
}).$mount();
expect(comp.serviceConfig).to.equal('{ "name": "Apple" }'); // successfull
expect(comp.$el.textContent).to.contain('Apple'); // unsuccessfull
});
但是,如果我更改模板以便呈现 {{serviceConfig}} 而不是 serviceConfig.name,它可以工作,但不是我想要的(因为我只想要名称,即 'Apple').
您传递的是字符串,而不是对象,如 serviceConfig
。