Pra*_*ada 2 android unit-testing android-testing
我使用的是Android Studio 1.2
假设我在一些MyAdder类中添加了一个简单的方法
public int add(int a,int b) {
return a+b;
}
Run Code Online (Sandbox Code Playgroud)
我想执行单元测试并使用断言来执行上述代码的测试.
我发现很难,首先从官方DEV站点测试基础知识,以便获得执行单元测试的示例代码或详细教程.
支持两种类型的测试,可在Build VariantsAndroid Studio工具窗口的下拉菜单中找到:
" 测试基础知识"页面主要讨论Android测试测试,正如您所指出的那样,开始使用它有点困难.
但是,对于您的问题,您只需要单元测试.
从单元测试支持页面:
- 更新build.gradle以使用android gradle插件版本1.1.0-rc1或更高版本(在build.gradle文件中手动或在File> Project Structure中的UI中)
- 向app/build.gradle添加必要的测试依赖项
dependencies {
testCompile "junit:junit:4.12"
}
Run Code Online (Sandbox Code Playgroud)
- 在Settings> Gradle> Experimental中启用单元测试功能.(自Android Studio 1.2启用且不再具有实验性)
- 同步您的项目.
- 打开"构建变体"工具窗口(左侧)并将测试工件更改为"单元测试".
- 为测试源代码创建一个目录,即src/test/java.您可以从命令行或使用"项目"工具窗口中的"项目"视图执行此操作.此时,新目录应以绿色突出显示.注意:测试源目录的名称由gradle插件根据约定确定.
下面是一些示例代码,用于测试问题中的实例方法(替换com/domain/appname为包名称创建的路径):
项目名称/应用程序/ SRC /测试/ JAVA/COM /域/应用程序的名字/ MyAdderTest.java
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class MyAdderTest {
private MyAdder mMyAdder;
@Before
public void setUp() throws Exception {
// Code that you wish to run before each test
mMyAdder = new MyAdder();
}
@After
public void tearDown() throws Exception {
// Code that you wish to run after each test
}
@Test
public void testAdd() {
final int sum = mMyAdder.add(3, 5);
assertEquals(8, sum);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1741 次 |
| 最近记录: |