我需要对Ember应用进行集成测试,例如在用户模板中:
<div class="container">
<h1>{{model.firstName}} {{model.lastName}}</h1>
<p>Age: {{model.age}} years old</p>
<p>Job: {{model.job}}</p>
<img src="{{model.image}}" alt="img" id="image">
</div>
我必须测试用户列表是否正确显示。是否可以这样做?
我从来没有这样做过,我有点迷失在这里。它会是这样的:
test('it renders all users', function(assert) {
this.set('users', [
{ firstName: 'Tubby'},
{ firstName: 'Spot'},
{ firstName: 'Chester'},
{ firstName: 'Frisky'}
]);
this.render(hbs`{{user users=users}}`);
assert.equal(this.$('.user').length, 4);
});
尽管我读了很多关于集成测试的文章,但我仍然不明白它是否可以用于不是组件的东西。
那么重定向呢?假设我必须编写一个集成测试来验证重定向是否正确。我可以通过集成测试来实现这一点吗?
谢谢你的帮助。
2条答案
按热度按时间iqjalb3h1#
快速回顾一下测试选项可能是值得的:
单元测试允许我们测试小块的代码。容易用这种方法测试的东西是服务、序列化程序或适配器。
集成测试的主要目的是让您测试组件以及组件协同工作和与用户交互的方式。通常测试的内容包括不同种类的事件(单击、击键等)以及组件对不同类型数据的React方式。
验收测试通常用于测试应用的整体集成(假装是您的用户并浏览站点)。
通常,检查重定向可以是一个验收测试。你也可以做单元测试(如果你有复杂的路由逻辑来处理各种重定向的场景)。在集成测试中测试重定向主要集中在确保点击一个按钮会尝试重定向到其他地方。
这有帮助吗?
5vf7fwbs2#
我希望,下面的教程将帮助您理解测试用例。教程有所有测试的例子(单元,验收和集成)。
https://medium.com/@srajas02/ember-test-case-for-a-crud-application-with-mirage-d6d9836bfee2
源代码:https://github.com/srajas0/ember-test-cases