首页 > 解决方案 > 集成测试 CRUD Ember.js

问题描述

我需要为我的 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);
 });

尽管我阅读了很多关于集成测试的文章,但我仍然不明白它是否可以用于非组件的东西。

重定向呢?假设我必须编写一个集成测试来验证重定向是否正常。我可以通过集成测试来做到这一点吗?

谢谢你的帮助。

标签: ember.jsintegration-testing

解决方案


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

单元测试允许我们测试小块代码。以这种方式易于测试的东西是服务、序列化程序或适配器。

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

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

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

这有帮助吗?


推荐阅读