2

我目前正在使用测试/单元,并且正在考虑使用 rspec。但是,我注意到 rspec目前在 ruby​​ 1.9.1 中不支持 heckle,并且除了目标模块/类/方法之外,不支持将任何参数传递给 heckle。

使用 heckle 和 rspec 是否还有其他当前问题,或者除了这两个问题之外它们是否可以很好地协同工作?

另外,如果我暂时使用测试/单元,我应该考虑将它与黄瓜一起使用吗?

编辑:1.9.1 的问题不是 rspec 的错 - heckle 不能在ruby​​ 1.9.1上运行,因为 parsetree 不能在 ruby​​ 1.9.1 上运行。

4

2 回答 2

4

上次查的时候,Heckle+RSpec 效果不是很好,想来也没有多少人一起用。

早在 2008 年春天,我对此进行了调查,并注意到 RSpec 和 Heckle 已经有一段时间没有一起工作了。我做了一个补丁,它被 RSpec 1.1.14 接受。即使在进行了这些更改之后,我也没有发现 Heckle 很有用。如果我没记错的话,问题是 Heckle 本身会因非平凡的程序而崩溃。

真是可惜,情况就是这样。如果您想提供帮助,您可能需要查看 boo-hiss 项目:http: //github.com/halorgium/boo_hiss/tree/master

更新:经过两年的中断,上周发布了新版本的 Heckle ( Heckle 1.4.2 )。也许这解决了我遇到的问题。

于 2009-02-11T09:35:15.237 回答
0

我目前正在运行 heckle 1.4.2 和 rspec 1.2.4 来测试Addressable。我建议直接使用 spec 命令来解决任何问题,而不是通过 rake 任务进行设置。Heckling 是我通常在发布之前做的事情,而不是在常规开发期间,因为它非常耗时。当你试图追踪幸存的突变时,你可能想要逐个方法。

旧版本的 RSpec 更加健谈——为所有失败的规范倾倒完整的规范结果——但我发送了一个修复该问题的补丁。任何最近的版本都没有这个问题,并且质问应该可以正常工作。

例如:

spec spec/**/*_spec.rb --heckle Addressable::URI#normalize

输出:

**********************************************************************
***  Addressable::URI#normalize loaded with 25 possible mutations
**********************************************************************

25 mutations remaining...
24 mutations remaining...
23 mutations remaining...
22 mutations remaining...
21 mutations remaining...
20 mutations remaining...
19 mutations remaining...
18 mutations remaining...
17 mutations remaining...
16 mutations remaining...
15 mutations remaining...
14 mutations remaining...
13 mutations remaining...
12 mutations remaining...
11 mutations remaining...
10 mutations remaining...
9 mutations remaining...
8 mutations remaining...
7 mutations remaining...
6 mutations remaining...
5 mutations remaining...
4 mutations remaining...
3 mutations remaining...
2 mutations remaining...
1 mutations remaining...
No mutants survived. Cool!

(结果不典型。)

于 2009-04-14T18:30:34.187 回答