我试图在渲染组件之前简单地模拟计算属性返回值。尝试this.set('isHome', true)
不起作用,因为我无法将其传递给组件。
组件[逻辑]:
isHome: false
组件[模板]:
{{#if isInbox}}
<p id="maintext">Text</p>
{{/if}}
测试
test('Block is visible on the homepage', function(assert) {
assert.expect(1);
this.set('isHome', true); // Does nothing
this.render(template);
let maintext = this.$("#maintext")
this.asyncWait(assert, () => {
assert.ok(maintext);
});
});
这是布局的一个非常粗略的轮廓,带有计算属性,然后用于显示页面上的块。如何将该计算属性覆盖为true
以强制显示该块?
答案 0 :(得分:0)
与同事进一步深入研究,他们确认应避免尝试直接在测试中编辑计算属性。
相反,他们建议更改用于设置ComputedProperty的值。就我而言,我正在检查当前路径是否包含一个单词。
因此,我没有尝试将Computed Property设置为true
,而是可以模拟路径并包含我正在寻找的单词,以便它的计算结果为true
。
希望以后可以帮助别人!