测试是
Ember。js
框架开发环节中很重要的一环。html
如今假设你正在利用Ember框架开发一个博客系统,这个系统包含user
和post
模型,有登陆及建立博客的操做。最后假设你但愿在你的程序里实现自动化测试。git
你一共须要下面这3种类型的测试:github
验收测试Acceptance算法
单元测试Unit框架
集成测试Integrationide
验收测试是用来确保程序流程正确,且各种交互特性符合用户预期的测试。函数
验收测试用于确认项目基本功能,保证项目核心功能没有退化,确保该项目的目标得以实现。测试应用的方式和用户与应用程序的交互方式是一致的(好比填写表单,点击按钮)。post
在上述的场景中,可能会作以下的验收测试:单元测试
用户能够经过登陆表单登陆。测试
用户能够建立博客。
当成功保存一篇博客文章后,程序会返回博客列表给用户。
访客不能访问管理界面。
单元测试是针对程序中的最小可测试单元进行的测试,好比一个类或者一个方法。该测试能够编写与程序逻辑相对的语句来测试相关单元
下面是一些单元测试的具体例子:
用户姓名是由对应的姓和名组合而成的。
把博客请求数据正确序列化转换为一个博客模型对象。
正确格式化博客时间。
集成测试是处于单元测试和验收测试之间的测试。集成测试目的是验证客户端与全系统交互,全部单元测试,以及微观层面具体代码的算法逻辑是否都能经过。
集成测试用来验证应用程序各个模块相互关系,好比若干个UI控件之间的行为。也能够用于确认数据和动做在系统不一样的部件中被正确的传递和执行,同时在给定假设条件下,能够提供系统各部件配合运行的状况。
咱们建议对每一个组件都进行集成测试,由于组件各个组件以相同的方式运行在系统的上下文中,而且组件之间也有相互影响,包括从模板中渲染组件、接收组件生命周期回调函数。
集成测试示例以下:
用户姓名和日期正确的显示在每篇博文上
禁止用户在标题栏内输入超过50个字符
当提交一个没有标题的博客时,显示红色提醒并给出须要标题的错误信息
博客列表滚动到最顶端显示最新博客
QUnit是本手册的默认测试框架,可是Ember.js也支持其余第三方的测试框架。
在命令行输入ember test
来运行测试。也能够经过ember test -server
命令,在每次文件改动后,从新运行测试。
在本地开发项目的时候能够经过访问/tests/index.html
来运行你的测试,前提是你须要使用命令ember server
运行了你的项目。若是你是使用这种方式有一点须要注意:
经过ember server
运行的测试,是在开发环境下的测试,调用的是开发环境下的参数
经过ember test --server
运行的测试,是在测试环境下的测试,调用的是测试环境下的参数,好比加载的依赖也是不一样的。所以咱们推荐你使用ebmer test --server
来运行测试。
使用--filter
选项来指定运行部分测试。好比:快速运行当前工做的测试使用命令ember test --filter="dashboard"
、运行指定类型的测试使用命令ember test --filter="integration"
、可使用!
来排除验收测试ember test --filter="!acceptance"
。
更多详细内容请看下面的文章:
2.7.0
的文档直接放在emberjs.ddlisting.com。可能后续就不放Ember Teach,Ember Teach就主要用于发布与Ember相关的文章了。
水平有限,欢迎指正。你也能够直接在https://github.com/emberjschina/emberjs_guides_v2.7.0提交Requests Pull,咱们会以最快时间审核经过后更新到本站。