EGH*_*HDK 22 java junit android unit-testing android-studio
我有一个显示"Hello World"的Android项目.它是从Android Studio的"空白活动"模板创建的.
然后我在我的应用程序包中添加/创建一个新的java类(与我的活动相同的包).我称之为Shape并添加一个简单的构造函数
public class Shape {
public Shape(int i){
if (i==0){
throw new IllegalArgumentException("Cant have 0");
}
}
}
Run Code Online (Sandbox Code Playgroud)
大.现在我有一个完全没有触及Android的课程,我想对它进行单元测试.接下来我该怎么办?
这是我的问题停止的地方.下面我将介绍我尝试过的内容.


我写了我的考试
package com.eghdk.getjunit4towork;
import org.junit.Test;
import static org.junit.Assert.*;
public class ShapeTest {
@Test(expected = IllegalArgumentException.class)
public void testShapeWithInvalidArg() {
new Shape(0);
}
}
Run Code Online (Sandbox Code Playgroud)此时,我不确定如何运行我的测试,但尝试这样做:

我跑步时遇到这些错误
错误:(3,17)Gradle:错误:包org.junit不存在
错误:(5,24)Gradle:错误:包org.junit不存在
错误:(8,6)Gradle:错误:找不到符号课堂考试
nha*_*man 34
自Android Studio 1.1起,就有(实验性)单元测试支持.该页面的几个引用:
您必须在Android模块的build.gradle文件中指定测试依赖项.例如:
Run Code Online (Sandbox Code Playgroud)dependencies { testCompile 'junit:junit:4.12' testCompile "org.mockito:mockito-core:1.9.5" }要在AS中使用单元测试支持,您必须执行以下步骤:
更新build.gradle以使用android gradle插件版本1.1.0-rc1或更高版本(在build.gradle文件中手动或在File> Project Structure中的UI中)
向app/build.gradle添加必要的测试依赖项(参见上文).
在Settings> Gradle> Experimental中启用单元测试功能.
同步您的项目.
打开"构建变体"工具窗口(左侧)并将测试工件更改为"单元测试".
为测试源代码创建一个目录,即src/test/java.您可以从命令行或使用"项目"工具窗口中的"项目"视图执行此操作.此时,新目录应以绿色突出显示.注意:测试源目录的名称由gradle插件根据约定确定.
- 创建您的测试.您可以通过打开一个类,右键单击其名称并选择"转到>测试"来完成此操作.添加一些测试用例.
- 右键单击新的测试类或方法,然后选择"运行...".
- (可选)您可以直接使用Gradle缩短编译时间.为此,请转到"运行"菜单并选择"编辑配置".在那里,找到默认的JUnit模板,在启动前删除"Make"步骤并添加"Gradle aware make"步骤(将任务名称保留为空).
重要的是要知道有两种测试类型:androidTest和普通test.
androidTest主要用于在模拟器或设备上运行的测试,例如仪器测试.从命令行,您可以使用它们./gradlew connectedCheck来运行它们.test用于您不想在设备上运行的测试,例如您编写的单元测试.您运行./gradlew test以运行这些测试.正如帖所说,你之间进行切换androidTest,并test通过改变测试工件Android Studio中.
当然,优选的是不运行的设备或仿真器上的测试,因为这加速了测试过程很多.通过新的实验单元测试支持,您可以在不使用设备的情况下访问存根的Android API.这允许您从移动更多的测试androidTest来test.
| 归档时间: |
|
| 查看次数: |
19771 次 |
| 最近记录: |