Android Studio 1.1 添加了单元测试支持,详细请看 Unit testing support。本章的其余部分描述的是 “instrumentation tests”。利用 Instrumentation 测试框架可以构建独立的测试 APK 并运行在真实设备(或模拟器)中进行测试。
5.4 测试报告 当运行单元测试的时候,Gradle 会生成一份 HTML 报告以便于查看测试结果。 Android plugins 在这个基础上扩展了 HTML 报告,以合并所有已连接设备上的测试结果。 5.4.1 单工程报告 在运行测试的时候工程会自动的生成报告,默认位置是: build/reports/androidTests 这和 jUnit 报告的位置 build/reports/tes
5.3 测试Android库 测试 Android 库工程的方式和应用工程是一样。 仅有的不同就是整个库(包括它的依赖)会作为一个依赖库被自动的添加到测试应用中。测试APK的测试结果不仅包括它自己代码的测试,还包括 Android 库的以及库的所有依赖的测试。 库的 manifest 被合并到测试应用的 manifest 中(这种情况就和任何工程引用这个库是一样的) androidTest 任务的
5.2 运行测试 正如前面所提到的,引导任务 connectedCheck 需要一个已经连接的设备才能运行。 这会依赖 androidTest ,所以 androidTest 也会被运行。这个任务做了以下事情: 确保应用和测试应用已经被构建(依赖 assembleDebug 和 assembleTest ) 安装这两个应用 运行测试 卸着这两个应用 如果同时有多个连接的设备,那么所有的测试会在所有
英文原文:http://emberjs.com/guides/testing/testing-models/ 单元测试方案和计算属性与之前单元测试基础中说明的相同,因为DS.Model集成自Ember.Object。 [Ember Data[模型可以使用moduleForModel助手来测试。 假定有一个Player模型,模型定义了level和levelName属性。通过调用levelUp可以增加
英文原文:http://emberjs.com/guides/testing/testing-routes/ 单元测试方案和计算属性与之前单元测试基础中说明的相同,因为Ember.Route集成自Ember.Object。 路由测试可以通过集成测试或者单元测试来进行。集成测试对路由的测试具有更好地覆盖性,因为路由通常用来执行过渡和数据加载,这些测试在完整上下文中更加容易测试,而独立上下文则没有那么
英文原文:http://emberjs.com/guides/testing/testing-components/ 单元测试方案和计算属性与之前单元测试基础中说明的相同,因为Ember.Component集成自Ember.Object。 设置 在测试组件之前,需要确定测试应用的div已经加到测试的html文件中: 1 2 <!-- as of time writing, ID attribut
英文原文:http://emberjs.com/guides/testing/unit/ 单元测试用于测试代码的一个小片段,确保其功能正常。与集成测试不同,单元测试被限定在一个范围内,并且不需要Ember应用运行。 全局 vs 模块 过去如果没有作为一个全局变量加载整个Ember应用,要对应用进行测试非常困难。通过使用模块(CommonJS,AMD等)来编写应用,可以只加载被测试的部分,而不用将其
英文原文:http://emberjs.com/guides/testing/test-helpers/ 测试Web应用最大的问题是代码都是事件驱动的,因此很可能出现异步的情况(例如输出与输入不是按照顺序发送)。其衍生问题就是代码可能会以任何可能的顺序执行。 下面这个例子能很好的说明此问题:当一个用户点击了两个按钮,一个接着一个,分别从不同的服务器加载数据。这种情况响应的时间是不同的。 当编写测试
英文原文:http://emberjs.com/guides/testing/integration/ 集成测试通常用来测试应用中得重要工作流。集成测试用来模拟用户交互和确认交互结果。 设置 为了对Ember应用进行集成测试,需要在测试框架中运行应用。首先需要将根元素(root element)设置为任意一个已知将存在的元素。如果根元素在测试运行时可见的话,这对测试驱动开发非常有用,带来的帮助非常
虽然这个测试可能是微不足道的,但它说明了单元测试的基本元素。 我们使用解释这个测试是什么,我们使用来断言我们从测试中得到什么样的结果。 这些是用户定义的,因此在这些消息中描述性和准确性是一个好主意。 诸如“应该工作”或“测试服务”之类的消息不能真正解释发生了什么,并且在整个应用程序上运行多个测试时可能会产生混淆。 我们的实际测试是基本的,我们使用制定一个场景,并使用来断言我们从该场景预期的结果条件
我正在为Junit编写测试,以测试我编写的删除函数: 此方法适用于同时具有前后节点的双链接列表。 问题是:我们的大学将针对我们编写的测试运行错误代码,以确定我们是否编写了足够的测试来捕获错误代码和异常。 我知道他们将运行的两个测试,但不知道错误的含义。 > 失败:缺少逻辑 故障:缺少NextNodeRepairLogic 这是我没有考虑的两个测试,因为我无法理解这些错误的含义。有人知道这些错误可能