集成测试CRUD Ember.js

时间:2019-04-04 09:46:15

标签: ember.js integration-testing

我需要为我的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 个答案:

答案 0 :(得分:2)

可能值得快速回顾一下测试选项:

单元测试使我们能够测试一小段代码。易于测试的方法是服务,序列化器或适配器。

集成测试的主要目的是让您测试组件以及它们协同工作以及与用户交互的方式。经常测试的事物包括不同类型的事件(单击,击键等)以及组件对不同类型数据的反应方式。

验收测试通常用于测试应用程序的整体集成(假装您是用户并浏览网站)。

通常,对重定向的检查要么是验收测试。您也可以进行单元测试(如果您具有处理各种重定向场景的复杂路由逻辑)。在集成测试中测试重定向主要集中在确保单击按钮会尝试重定向其他地方。

有帮助吗?

答案 1 :(得分:0)

我希望,下面的教程将帮助您理解测试用例。本教程提供了所有测试的示例(UNIT,验收和集成)。

https://medium.com/@srajas02/ember-test-case-for-a-crud-application-with-mirage-d6d9836bfee2

源代码:https://github.com/srajas0/ember-test-cases