我使用each循环为创建的每个输入创建一个唯一的id。例如:id='amount0'
、id='amount1'
等。但我无法在测试期间将它们作为目标,它表示未找到该元素。
错误
Promise rejected during "Amount input works": Element not found when calling `fillIn('#amount0')`.
HBS文件:
{{#each userInfo as |user index|}}
<p output-test-info>
<button onclick={{action clearEverything index}}>-</button>
{{user.name}}
<input id="amount{{index}}" onchange={{action (action addAmount index) value="target.value"}}>
</p>
{{/each}}
测试文件:
test('Amount input works', async function(assert){
const itemList = document.queryCommandValue('output-test-info');
this.set('tempName', [{name: 'bobby'}, {name: 'peter'}]);
this.set('tempAct', [{activity: 'dinner'}, {activity: 'movies'}])
await render(hbs`<Output @userinfo={{this.tempArray}} @userAct={{this.tempAct}}/>`);
await fillIn('#amount0', '20');
})
1条答案
按热度按时间btxsgosb1#
这里的错误显然是
@userinfo={{this.tempArray}}
。你没有这个变量,你只有tempName
和tempAct
。最有可能的是tempName
在那里。