×

EmberJS 教程

EmberJS 概述EmberJS 环境配置EmberJS 应用EmberJS 对象模型EmberJS 模板EmberJS 路由器EmberJS 组件EmberJS 模型EmberJS 视图EmberJS 控制器EmberJS 测试EmberJS 指定查询参数

Ember 对象模型

Ember 类的定义 初始化 继承Ember 类的扩展Ember 计算属性Ember 观察者Ember 数据绑定Ember 枚举Ember 第一章对象模型小结

Ember handlebars模板

Ember handlebars基础Ember handlebars条件表达式Ember handlebars遍历标签Ember handlebars显示对象键Ember handlebars属性绑定Ember {{link-to}} 助手Ember 路由 模板执行渲染顺序Ember {{action}} 助手Ember 表单元素Ember 调试助手Ember 工具类的助手Ember 第二章模板小结

Ember 路由

Ember 路由定义Ember 指定与路由关联的模型Ember 模板渲染Ember 路由重定向Ember 路由终止挑战和激活Ember loading error子路由Ember 查询参数Ember 异步路由

Ember 组件

Ember 组件定义Ember 属性传递Ember 包裹内容自定义包裹组件的HTML标签Ember 处理事件Ember action触发变化

Ember 控制器

Ember 控制器Ember 管理控制器的依赖关系

Ember 模型

Ember model简介Ember 定义模型Ember 记录查询Ember 新建、更新、删除记录Ember 设置记录到StoreEmber model的关联关系处理Ember 元数据Ember 自定义适配器Ember 自定义序列号器

Ember 测试

Ember 测试简介Ember 验收测试Ember 单元测试

Ember 测试简介


英文原文:https://guides.emberjs.com/v2.7.0/testing/

测试简介

测试是Ember。js框架开发环节中很重要的一环。

现在假设你正在利用Ember框架开发一个博客系统,这个系统包含userpost模型,有登录及创建博客的操作。最后假设你希望在你的程序里实现自动化测试。

测试类型

你一共需要下面这3种类型的测试:

  1. 验收测试Acceptance
  2. 单元测试Unit
  3. 集成测试Integration

验收测试 Acceptance Tests

验收测试是用来确保程序流程正确,且各类交互特性符合用户预期的测试。

验收测试用于确认项目基本功能,保证项目核心功能没有退化,确保该项目的目标得以实现。测试应用的方式和用户与应用程序的交互方式是一致的(比如填写表单,点击按钮)。

在上述的场景中,可能会做如下的验收测试:

  1. 用户可以通过登录表单登录。
  2. 用户可以创建博客。
  3. 当成功保存一篇博客文章后,程序会返回博客列表给用户。
  4. 访客不能访问管理界面。

单元测试 Unit Tests

单元测试是针对程序中的最小可测试单元进行的测试,比如一个类或者一个方法。该测试可以编写与程序逻辑相对的语句来测试相关单元

下面是一些单元测试的具体例子:

  1. 用户姓名是由对应的姓和名组合而成的。
  2. 把博客请求数据正确序列化转换为一个博客模型对象。
  3. 正确格式化博客时间。

集成测试 Integration Tests

集成测试是处于单元测试和验收测试之间的测试。集成测试目的是验证客户端与全系统交互,所有单元测试,以及微观层面具体代码的算法逻辑是否都能通过。

集成测试用来验证应用程序各个模块相互关系,比如若干个UI控件之间的行为。也可以用于确认数据和动作在系统不同的部件中被正确的传递和执行,同时在给定假设条件下,可以提供系统各部件配合运行的情况。

我们建议对每个组件都进行集成测试,因为组件各个组件以相同的方式运行在系统的上下文中,并且组件之间也有相互影响,包括从模板中渲染组件、接收组件生命周期回调函数。

集成测试示例如下:

  1. 用户姓名和日期正确的显示在每篇博文上
  2. 禁止用户在标题栏内输入超过50个字符
  3. 当提交一个没有标题的博客时,显示红色提醒并给出需要标题的错误信息
  4. 博客列表滚动到最顶端显示最新博客

测试框架

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"


分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)