我有一个使用Robolectrec进行单元测试的项目。这个项目使用Robolectrec 3.0,需要在虚拟机选项中添加-ea
和-no验证
选项。
在Android Studio中,我在Run中创建了新的JUnit配置
然而,对于连续部署,我需要用命令行运行单元测试。所以我使用
./gradlew test
来运行单元测试。我还添加了org.gradle.jvmargs=-ea-no验证
到gradle.properties
文件。不幸的是,它不起作用。我可以运行单元测试,但是我得到了java.lang.VerifyError
,我认为gradle.properties
没有加载。
所以,我的问题是,如何制作
gradle。属性
load或者你知道有什么方法可以解决我的虚拟机选项问题吗?
也许是这个
./gradlew -Dorg.gradle.jvmargs="-ea -noverify" test
我发现我们可以将此块添加到应用程序的build.gradle来解决这个问题
tasks.whenTaskAdded { theTask ->
def taskName = theTask.name.toString()
if ("testDevDebug".toString().equals(taskName)) {
theTask.jvmArgs('-ea', '-noverify')
}
}
DevDebug
是我的构建变体。
已经回答了,但这可能是一个更简单的解决方案:
在应用程序模块的构建中。gradle
文件在android closure中,添加这个。
android {
....
testOptions {
unitTests.all {
jvmArgs '-noverify'
}
}
}
我有一个特殊的情况。基本上我有一个单元测试,用@Test注释,在这个测试中我需要执行一个Cucumber JVM测试类。 为什么?说来话长。与类加载器和RoboGuice有关,这不是很重要,但它确实限制了我能做什么和不能做什么。 以下是测试方法: MyCucumberTest是我创建的一个类,并注释如下: 为什么我要注释掉@RunBy注释?因为如果我不这样做,Cucumber测试运行程序会拿起测试
我使用的是PACT JVM https://github.com/dius/pact-jvm/tree/master/provider/pact-jvm-provider-junit我不知道为什么我的联系人中的匹配规则被忽略了。我的HTTP测试 还有我的合同档案 并在运行后显示错误 请帮忙把我的观点说错。 谢谢,
如何使用Maven在以下位置运行cucumber测试。 源文件夹'src/main/java'和'src/main/resources'包括在每个源文件夹中创建的包'com.testing.testproject.login'中的步骤定义和功能文件。 这是我的POM文件: 提前道谢。
问题内容: 我有一个包含200多个测试类别的近500个单独测试的项目。这些测试中有一些在完成测试后并不能很好地关闭它们自己的状态,在Eclipse中这会导致某些测试失败。通过Ant从命令行运行测试套件时,所有测试均通过。 我可以在Eclipse中以某种方式启用“测试隔离”吗?我不在乎是否需要更长的时间。 从长远来看,我会清理行为异常的测试,但短期而言,我想使测试正常工作。 问题答案: 如果在Ecl
我花了相当长的时间试图弄清楚如何在使用WiRemock运行Android Espresso测试时修复这个错误。 java.lang.NoClassDefoundError:未能解析:loRg/Apache/HTTP/Protocol/HttpRequestExecutor 我该怎么修好它?
我有一些问题设置/运行espresso测试的Android。我的TestClass如下所示:- 在设备仿真器-5554上启动检测Android.test.InstrumentationTestRunner 向Eclipse发送测试信息 测试完成 没有提到运行测试,测试也不会运行。我会错过什么?