- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个 Android 应用程序,我正在尝试使用 Jenkins 进行设置。我已经使用 Android 模拟器插件启动模拟器,并使用 gradle 脚本构建项目,但我无法让它运行我使用 AndroidJUnitRunner 编写的简单测试。
Jenkins 的输出看起来像这样......
+ adb shell pm list instrumentation
instrumentation:com.android.emulator.connectivity.test/android.test.InstrumentationTestRunner (target=com.android.emulator.connectivity.test)
instrumentation:com.android.emulator.gps.test/android.test.InstrumentationTestRunner (target=com.android.emulator.gps.test)
instrumentation:com.android.smoketest.tests/com.android.smoketest.SmokeTestRunner (target=com.android.smoketest)
instrumentation:com.android.smoketest.tests/android.test.InstrumentationTestRunner (target=com.android.smoketest)
instrumentation:com.example.android.apis/.app.LocalSampleInstrumentation (target=com.example.android.apis)
[Short Sounds] $ /bin/sh -xe /tmp/hudson7415767398022941631.sh
+ adb shell am instrument -w com.sloths.speedy.shortsounds/android.support.test.runner.AndroidJUnitRunner
INSTRUMENTATION_STATUS: id=ActivityManagerService
INSTRUMENTATION_STATUS: Error=Unable to find instrumentation info for: ComponentInfo{com.sloths.speedy.shortsounds/android.support.test.runner.AndroidJUnitRunner}
INSTRUMENTATION_STATUS_CODE: -1
android.util.AndroidException: INSTRUMENTATION_FAILED: com.sloths.speedy.shortsounds/android.support.test.runner.AndroidJUnitRunner
如您所见,我已经通过 shell 命令列出了 adb 工具。在列表中找不到 AndroidJUnitRunner。我半肯定它应该在那里正常工作。
我在 build.gradle 文件中添加了适当的配置标签...即...
defaultConfig {
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
我还添加了这些依赖项。
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
...
androidTestCompile 'com.android.support.test:runner:0.2'
// Set this dependency to use JUnit 4 rules
androidTestCompile 'com.android.support.test:rules:0.2'
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.1'
}
如果它对这里有帮助,那就是我正在尝试运行的测试。这只是一个我希望失败的简单单元测试。
import android.support.test.runner.AndroidJUnit4;
import android.test.ActivityInstrumentationTestCase2;
import com.sloths.speedy.shortsounds.view.MainActivity;
import org.junit.Test;
import org.junit.runner.RunWith;
@RunWith(AndroidJUnit4.class)
public class InitialFailingTest extends ActivityInstrumentationTestCase2<MainActivity> {
public InitialFailingTest() {
super(MainActivity.class);
}
@Override
protected void setUp() throws Exception {
super.setUp();
}
@Test
public void initialFailingTestForJenkins() {
assertTrue(false);
}
}
如何让 Jenkins 实际运行我的单元测试?非常感谢任何帮助。
最佳答案
尝试告诉 Jenkins 运行“gradle connectedAndroidTest”任务
关于android - Jenkins 和运行 AndroidJUnitRunner 仪器测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29998802/
我在我的项目中使用 AndroidJUnitRunner,但无论是在 Android Studio 中还是通过 gradlew 从命令行在设备和模拟器上执行单元测试都非常慢。 我正在使用这个开源项目的
只要指定类,我就可以运行仪器测试。 adb shell am instrument -w -e class com.application.instrumentation.BaseActivityTe
我使用 gradle 构建我的 android 应用程序。 我按照文档 ( https://developer.android.com/topic/libraries/testing-support-
设置: 我继承的一个较旧的项目有很多遗留的仪器测试,我想对它们施加超时,因为它们中的很多都可以无限期地挂起,这使得很难获得测试报告。我正在将测试更新为 Junit4 样式,但目前它们都在扩展 Acti
我有一个 Android 应用程序,我正在尝试使用 Jenkins 进行设置。我已经使用 Android 模拟器插件启动模拟器,并使用 gradle 脚本构建项目,但我无法让它运行我使用 Androi
我是 Android 测试领域的新手,单元测试示例提到了 AndroidJunit4 runner 的使用。我偶然发现了另一个名为 AndroidJUnitRunner 的运行者。现在,我看到了这两个
我正在尝试整合 Espresso 2.0's AndoridJUnitRunner与 ActivityUnitTestCase。但是,当 startActivity() tries to initia
在 Gradle 和 Run/Debug Configurations -> Android Tests -> MyInstrumentedTest -> General -> Specific in
我想使用 faSTLane screengrab,当我启动时 fastlane screengrab我有这个错误:android.util.AndroidException: INSTRUMENTAT
我们围绕相机功能进行了一些 UI 测试,在我们从 InstrumentationTestRunner 切换到 AndroidJUnitRunner 作为迁移到 Espresso/JUnit4 的一部分
我正在尝试使用插桩测试,并将我的项目更新为 AndroidX。但是在尝试运行时出现以下错误: 2018-10-09 14:22:29.468 13263-13263/xxx.yyy E/Android
我是仪器测试的新手。我正在尝试使用 AndroidJUnitRunner 进行基本测试。这是我的毕业典礼: apply plugin: 'com.android.application' androi
我正在尝试将我的项目更新为最近发布的 Android 测试支持库版本 1.0.0。但是,如果我添加 assertj-core 依赖项,Gradle 检测的测试任务开始失败,并显示“未找到测试”消息。不
我已经编写了一个简单的 Android 工具测试用例来测试网络操作。 Test case class name: Main3ActivityTest.java Method name:addNewEm
我尝试在 MultiDex 应用程序上运行 Espresso 测试,但失败并出现以下错误 Error:Execution failed for task > :transformClassesWith
几天以来,我一直在为我们的 MultiDex 应用程序中的 NoClassDefFoundError 和 AndroidJUnitRunner 而苦苦挣扎...... 因为我们想开始使用 Espres
我们将 Robotium 与 android.test.InstrumentationTestRunner 一起用于我们的测试。尽管如此,我们还是想用 Espresso 替换 Robotium,但我们
我在单元测试中使用了 robolectric。最近在我们的项目中,我们添加了一个来自 zendesk 的新依赖项。 repositories { maven { url 'ht
在我的应用程序上录制了一个简单的 Espresso 测试后,测试无法运行,我希望有人能指导我了解为什么会发生这种情况。产生的错误是: D/AndroidJUnitRunner: Use the raw
我是一名优秀的程序员,十分优秀!