背景:
我的一个本地单元测试调用了我正在测试的一个方法,该方法的逻辑依赖于“BuildConfig.DEBUG”是否为true。
问题:
我注意到,当我在Android Studio中使用绿色的play按钮BuildConfig运行单元测试时。调试按预期为“true”。这可能是因为我将构建变量设置为debug。
但是,当我使用诸如“/gradle test”之类的命令通过终端运行相同的测试时,它被设置为false。
这是预期的行为吗?为什么?
我假设您有两种风格,debug
和release
。如果您运行/gradlew test
,它将运行两个测试任务,即testDebugUnitTest
和testReleaseUnitTest
。
有如下简单的测试用例。
@Test fun test() {
assertTrue(BuildConfig.DEBUG)
}
它将在testDebugUnitTest
任务中成功,在testReleaseUnitTest
任务中失败。测试任务也会失败。因为test
任务依赖于OntestReleaseUnitTest
。
这是我的整个测试课程: 有3个单元测试,它们在单独运行时都通过了,但当我运行整个测试类时,我的第2个和第3个测试失败,错误如下: 我已经想尽一切办法来解决这个问题: 我将测试实例化下的类移动到@Before函数中 我尝试创建@After函数并调用Mockito。重置我的模拟 我应该提到的是,我正在使用nhaarman。mockitokotlin2库和argumentCaptor。 关于为什么这些测
我正在使用Angular2 final(2.0.2)和angular cli。我正在尝试将其设置为使用PhantomJS运行单元测试。使用Chrome和karma Chrome launcher运行规范-所有测试都通过。在Phantomjs预构建2.1中运行相同的功能。13和karma phantomjs launcher 1.0。2次测试失败。 我添加了phantomjs启动器到插件数组中kar
不要与之前提出的问题混淆“为什么我的测试在一起运行时失败,但单独通过?” 我有一个任务,我需要修改JUnit测试类来处理多个数据库测试。在实现之前,我需要确保所有测试都在运行,没有失败。令我困惑的是,现在当我一起运行所有的类时,它显示它运行时没有失败。当我运行一个特定的类时,它突然失败了,如果我重复它,结果仍然存在。 这可能是什么原因造成的? 我自己没有写测试,因此我对测试内容的了解是有限的。不过
在Gradle有可能实现吗?
从Spring 3.1开始,由于@Enable*注释,我们可以更容易地使用JavaConfig。 所以我做了一个WebConfig来设置WebMvc配置,并尝试对其进行测试。但是,如果我使用WebConfig扩展WebMVCConfigureAdapter或WebMvcConfigurationSupport,单元测试将失败,因为缺少ServletContext。代码和消息如下所示。 网络配置。J