ember.js - 集成测试 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);
});
尽管我阅读了很多关于集成测试的文章,但我仍然不明白它是否可以用于非组件的东西。
重定向呢?假设我必须编写一个集成测试来验证重定向是否正常。我可以通过集成测试来做到这一点吗?
谢谢你的帮助。
解决方案
快速回顾一下测试选项可能是值得的:
单元测试允许我们测试小块代码。以这种方式易于测试的东西是服务、序列化程序或适配器。
集成测试的主要目的是让您测试组件以及它们协同工作和与用户交互的方式。经常测试的事物包括不同类型的事件(点击、击键等)以及组件对不同类型数据的反应方式。
验收测试通常用于测试您的应用程序的整体集成(假装是您的用户并浏览网站)。
通常,重定向检查要么是验收测试。您还可以进行单元测试(如果您有复杂的路由逻辑来处理各种重定向场景)。在集成测试中测试重定向主要集中在确保单击按钮会尝试重定向到其他地方。
这有帮助吗?
推荐阅读
- git - 如何让我的本地 git 在 Github 中反映大师?
- javascript - 如何使用 Javascript 从输入字段中获取值?
- python - 如何在 AWS lambda 上导入 opencv 模块
- entity-framework - 查看实体框架核心数据库中的数据
- python - Python在循环内到达变量
- python - Python 返回最常见的元素
- jquery - Linq MVC 中的 DateDiff 等效项
- android - Android:尽管代码不再存在,但仍神秘地创建了来自过去实现的数据库
- javascript - HTML 未从 JavaScript 脚本更改
- javascript - CSS样式我的页面,对不起,我是菜鸟