用于rails应用程序的watchr vs autotest

时间:2010-12-10 10:19:43

标签: ruby-on-rails ruby tdd

所以我最近在使用我的rails3应用程序中获得自动测试时遇到了很多问题。为了让它继续工作,我开始寻找其他选择,而不是继续摆弄它。现在看起来看起来像是一个很好的选择。但是我想问一下,使用一个优于另一个是否有任何特别的优势?我能说的最明显的是观察者需要更多的设置。然而,在那之后它似乎“正常工作”。所以这种权衡对我来说似乎是值得的,但其他一些优点/缺点是什么?

另外,我不太熟悉spork是什么或它是如何工作的,但是看守可以和Spork一起使用,让我在轨道运行中获得更快的测试优势吗?

1 个答案:

答案 0 :(得分:10)

我最近遇到了自动测试的问题,因为如果你不使用它所期望的文件结构,这是很讨厌的。因此我给观察者一个尝试,我很高兴。

如果您只想在更改后自动运行测试,则两个工具都是相同的。自动测试将在rails项目中开箱即用,而watchr需要运行配置文件。所以观察者有一点开销。但是,有几个项目已经将watchr配置为像autotest一样。

每当您想要在每次更改特定文件时使用自定义命令时,监视器都会显示它的强度。例如,每次更改重要文件时,每次schema.rb更改或生成更新的文档时都会运行rake annotate

通过它的简单配置语法watch('regular expression') {|match_data| your_command match_data[0]}可以在监视器中实现这种行为。要以彩色运行所有规格,请调用watchr config_file.rb,而config_file.rb包含

watch ('spec/.*_spec\.rb') {|md| system "rspec -c spec/"}

由于看守似乎与nestor(类似于spork)一起使用,因此也应该可以整合spork。

总结:watchr比自动测试更灵活,但需要一些配置才能开始。看守应该能够很好地使用spork。