作者:lingdong369 | 来源:互联网 | 2023-05-19 15:44
我有一个显示"Hello World"的Android项目.它是从Android Studio的"空白活动"模板创建的.
然后我在我的应用程序包中添加/创建一个新的java类(与我的活动相同的包).我称之为Shape并添加一个简单的构造函数
public class Shape {
public Shape(int i){
if (i==0){
throw new IllegalArgumentException("Cant have 0");
}
}
}
大.现在我有一个完全没有触及Android的课程,我想对它进行单元测试.接下来我该怎么办?
这是我的问题停止的地方.下面我将介绍我尝试过的内容.
请注意,我以前从未在Android或Java中测试过.对不起"菜鸟"的错误.
在Shape.java中,我转到"导航">"测试"
按Enter键选择"创建新测试"
获取此弹出窗口,然后选择JUNIT4.
然后我点击修复按钮修复未找到的库
我得到这个弹出窗口
我不确定要选择什么,所以我选择默认/突出显示.
我写了我的考试
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);
}
}
此时,我不确定如何运行我的测试,但尝试这样做:
我跑步时遇到这些错误
错误:(3,17)Gradle:错误:包org.junit不存在
错误:(5,24)Gradle:错误:包org.junit不存在
错误:(8,6)Gradle:错误:找不到符号课堂考试
nhaarman..
34
自Android Studio 1.1起,就有(实验性)单元测试支持.该页面的几个引用:
您必须在Android模块的build.gradle文件中指定测试依赖项.例如:
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
.
1> nhaarman..:
自Android Studio 1.1起,就有(实验性)单元测试支持.该页面的几个引用:
您必须在Android模块的build.gradle文件中指定测试依赖项.例如:
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
.