- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
一位同事最近在我们团队的项目中引入了 Spock 单元测试,我遇到了一个与 Eclipse 集成的恼人问题:每当我们创建参数化测试并在其上使用 @Unroll 注释时,Eclipse JUnit View 就会丢失与测试类关联并在“无根测试”下显示结果。
例如,这个测试类的结果:
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 门面)预先告诉 Eclipse 将运行多少测试方法,以及它们的名称。 (在数据驱动的测试中,这两个方面都是动态的。预先向 Eclipse 报告的内容与未使用 @Unroll
时相同。将此与期间报告的内容相关联时,Eclipse 会感到困惑测试运行。)
我想不出在 Spock 那边解决这个问题的好方法。我考虑过一些方法,例如在 Eclipse 中运行时添加一些丑陋的试探法或执行两次测试,但没有一个是令人信服的。一个更理想的解决方案是改进 Eclipse JUnit 插件以更好地处理这种情况,这种情况也可能出现在许多其他 JUnit 兼容测试框架中。
如果您不能接受当前的输出,可以采取以下一些步骤:
@Unroll
。 (它只影响报告,不影响执行。选择加入的原因之一是某些 IDE 有问题。)关于eclipse - 如何阻止 @Unrolled Spock 测试在 Eclipse Junit View 中显示为 "Unrooted Tests"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22159793/
我阅读了有关循环展开的文档。它解释说,如果将展开因子设置为 1,则程序将像使用 #pragma nounrolling 一样工作。 但是,该文件不包括#pragma unroll(0) 案例..由于
我正在用 C++ 编写路径跟踪器,我想尝试将资源最密集的代码实现到 CUDA 或 OpenCL 中(我不确定该选择哪个)。 我听说我的显卡的 CUDA 版本不支持递归,这是我的路径追踪器大量使用的东西
在我的一个JAVA项目中,我通常必须将巨大的数组与标量相乘。因此我想通过使用所谓的循环展开来编写一种方法。到目前为止我已经想出了这个: public static float[] arrayTimes
在最近的代码审查中,出现了关于 @Unroll 注释属于类级别还是方法级别的问题。该类的大多数方法(但不是全部)都需要 @Unroll。如果在类级别声明并且并非类的所有方法都需要它,声明 @Unrol
我有同样的问题: Expression templates: improving performance in evaluating expressions? 我的目标是展开这个表达式的循环 auto
在NVIDIA的制作精良reduction optimization documentation ,他们最终得到一个看起来像这样的 warpReduce: Template __device__ v
我是 CUDA 新手,我无法理解循环展开。我编写了一段代码来理解该技术 __global__ void kernel(float *b, int size) { int tid = block
URL 缩短器在 Twitter 等空间受限的媒体中很有用。但是这样的危险已经得到充分讨论(有限的生命周期、隐藏恶意链接、可用性等)。但是有没有一种很好的方法来预先解析来自 goo.gl 或 bit.
我试图告诉我的编译器使用#pragma unroll 为我展开一个循环。但是,迭代次数由编译时变量决定,因此循环需要展开那么多次。像这样: #define ITEMS 4 #pragma unroll
在 C++11 中是否有一种简单的方法可以做到这一点?如果可能的话,我想同时保留多重继承和循环访问包中所有静态函数的能力。 #include struct A { static void foo()
给定一个 Python 元组 t = v1, v2, v3 是否有一个实用程序可以解压这些元组以便给定: def foo(v1,v2,v3): pass 取而代之的是: foo(t[0],t[1],t
假设我有一个看起来像这样的循环: for(int i = 0; i : xor ebx,ebx 0x08048406 : push ecx 0x08048407 : xor
摘自 GCC 手册: -funroll-loops Unroll loops whose number of iterations can be determined at co
不确定如何调用它,但假设您有一个看起来像这样的类: class Person { public string Name; public IEnumerable Friends; } 然
我使用 Lisp 宏的第一步...... (defconstant width 7) (defconstant height 6) ... ; board is a 2D array of width
例如假设我有以下两个函数 function a(param1) { console.log(param1); } function b(func, params) { func(par
我一直认为 foo2 下面的函数比 foo3 快,直到经过测试。 所有代码如下: #include #include #include #include struct session {
我想知道 C++ 编译器是否会像他们目前对“正常”循环所做的那样展开基于范围的循环以最大化性能,或者在某些情况下基于范围的循环会比正常循环慢? 非常感谢。 最佳答案 基于范围的循环相当于: { a
在 CUDA 中,可以使用 #pragma 展开循环。 unroll 指令通过增加指令级并行度来提高性能。 #pragma可以选择后跟一个数字,指定循环必须展开多少次。 不幸的是,文档没有给出何时应该
我有一段代码,我希望 LLVM 按特定因子展开其中的所有循环。我正在使用以下命令: opt -mem2reg -simplifycfg -loops -lcssa -loop-simplify -lo
我是一名优秀的程序员,十分优秀!