W.C*_*eau 9 junit unit-testing gradle android-studio android-gradle-plugin
我正在尝试在我的Android应用程序中进行单元测试,这是我正在做的简单的测试教程.
import static org.junit.Assert.*;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
@RunWith(RobolectricTestRunner.class)
public class ServerListManagerTest extends AndroidTestCase{
@Test
public void testTrueIsTrue() throws Exception {
assertEquals(true, true);
}
}
Run Code Online (Sandbox Code Playgroud)
目录是这样的, src\main\androidTest\java\some packages\ServerListManagerTest.java
我尝试更改此目录,并构建配置.虽然构建成功,但android studio仍然无法识别我的单元测试.
这是我在app中的build.gradle,
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.kaist.se.pmpapp"
minSdkVersion 16
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
sourceSets { main { java.srcDirs = ['src/main/java', 'src/androidTest/java'] } } }
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.1.1'
androidTestCompile 'org.robolectric:robolectric:2.4'
androidTestCompile 'junit:junit:4.12'
androidTestCompile group: 'junit', name: 'junit', version: '4.12'
}
Run Code Online (Sandbox Code Playgroud)
我的代码有什么问题????
CLI*_*P Y 24
我遇到了同样的问题Test events were not received
,我检查了我编写的函数,发现存在编译器错误。
我的解决办法是check the files/functions you are testing
可能有编译错误
这可能会对遇到同样问题的人有所帮助。
Bri*_*ite 20
我假设您使用的是Android Studio 1.2版,这是目前的最新版本.
我认为您的代码没有任何问题.根据杰森阿特伍德的帖子,问题似乎与gradle缓存以前的结果有关,而不是再次运行它.如果你看一下"Gradle控制台",你会看到所有内容都说"UP-TO-DATE".但是,他建议在脚本参数中添加"--rerun-tasks"选项对我来说还不够.
在除了为"--rerun任务",我不得不关闭过程中的积累,并迫使它来调用外部gradlew
工具.要做到这一点,去...
File > Settings > Build, Execution, Deployment > Compiler
Run Code Online (Sandbox Code Playgroud)
然后取消选中"使用进程内构建"选项.希望未来的Android Studio版本能解决这个问题,我们可以重新启用该选项.
归档时间: |
|
查看次数: |
2912 次 |
最近记录: |