我试图在呈现组件之前简单地模拟计算的属性返回值。尝试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
以强制该块显示?
与同事进一步挖掘出来,他们确认应避免在测试中直接编辑计算的属性。
相反,他们建议更改用于设置该计算的值的值。就我而言,我正在检查当前路径是否包含一个单词。
因此,而不是试图将计算属性设置为true
,而是可以模拟路径并包括我要寻找的单词,以便将其评估为true
。
希望这对以后有帮助!