一位同事最近在我们团队的项目中引入了Spock单元测试,我在其Eclipse集成方面遇到了一个恼人的问题:每当我们创建参数化测试并在其上使用@unroll注释时,Eclipse JUnit视图就会失去与测试类的关联,并在“unrot根测试”下显示结果。
例如,这个测试类的结果:
package test
import spock.lang.Specification
import spock.lang.Unroll
class TestSpockTest extends Specification {
def "Not Unrolled Test"() {
when: "something"
then: "one equals one"
1 == 1
}
@Unroll
def "Unrolled Test #param"(Integer param) {
when: "something"
then: "a numer equals itself"
param == param
where:
param << [1, 2, 3]
}
}
以这种方式显示:
如何让展开的测试用例(例如“展开的测试1”)像“未展开的测试”一样显示在“test.testsocktest”下?对于我的Spock测试,是否有一些命名约定可以让Eclipse JUnit插件理解?
我在使用:
这是一个众所周知的问题,因为Spock不能(通过其JUnit facade)预先告诉Eclipse将运行多少测试方法,以及它们的名称。(在数据驱动的测试中,这两个方面都是动态的。预先向Eclipse报告的内容与不使用@unroll
时相同。当将此内容与测试运行期间报告的内容联系起来时,Eclipse会感到困惑。)
我在斯波克这边想不出解决这个问题的好办法。我考虑过一些方法,比如在Eclipse中运行时添加一些难看的启发式或执行两次测试,但没有一种方法令人信服。更理想的解决方案是改进Eclipse JUnit插件以更好地处理这种情况,这种情况也可能出现在许多其他JUnit兼容测试框架中。
如果您无法忍受当前的输出,以下是您可以采取的一些步骤:
@unroll
。(它只影响报告,而不影响执行。选择它的一个原因是某些IDE与它有问题。)问题内容: 如何检测用户的Java视网膜显示?我已经知道可以使用来检测比例因子,但是java不允许我将返回的值转换为int。我想知道如何将其转换为int或另一种检测视网膜显示的方法。 问题答案: 我将以这种方式获得价值
这是我的第一个Android应用程序,我试图使用admob广告为我的应用程序,但它是不工作,尽管我所做的一切。 这是我活动中与广告相关的代码 下面是我的XML代码 在模拟器上运行应用程序时的logcat读数既奇怪又令人困惑 如您所见,logcat中至少显示了3个错误。首先,google play服务已经导入到项目中。我可以在android私有库文件夹中看到它(但不是在libs文件夹中)。 还有一个
Rspec尝试在运行任何规范文件或整个测试套件的末尾运行测试::单元测试。它仍然可以,因为我没有任何测试单元测试文件,但它尝试将给定给rspec的命令行选项传递给test::unit,结果是 如何阻止rspec运行测试单元测试? 我正在使用的测试gem版本是
在我的Espresso测试执行和AlertDialog会被提示并等待用户响应。Espresso测试只有在我按下“Accept”按钮但我想测试代替用户执行此事件时才会继续。 我注意到我的线程选项卡上有以下状态
问题内容: 根据JUnit格式化的测试输出,我使用https://github.com/garcus/wct-xunit- reporter 创建了XUnit报告xml 。 Jenkins无法显示测试结果,这是行不通的。我试过了: 不同的XUnit测试结果(发布xUnit测试结果报告:[xUnit] [错误]-结果文件’.... / testfile.xml’的转换文件(在度量标准’NUnit’的
我尝试在我的应用程序模块中的代码的AndroidKotlin应用程序的声纳Qube中显示测试覆盖范围。我可以生成雅各的覆盖结果并显示声纳Qube分度仪,但问题是测试覆盖范围未显示在声纳Qube中: https://imgur.com/a/xOjxLl1 在我的项目的build.gradle中,我有: 在我的身体里。我的应用程序模块的gradle 我生成我的Jacoco报告: 并使用:生成我的son