Testing 比较Autofeature/autotest与Guard的优缺点?

Testing 比较Autofeature/autotest与Guard的优缺点?,testing,autotest,guard,Testing,Autotest,Guard,是否有人有任何具体的理由使用一个自动测试跑步者而不是另一个?我使用了Autofeature+autotest,我非常喜欢它设置的内置过程,它首先运行我的rspec单元测试,然后运行Cumber测试,只有最后一个失败的测试-它适用于编写Cumber测试的标准工作流,设置步骤直到它们失败,然后进入单元测试以获得详细的功能 我在标准rspec配置中使用了guard,它也运行良好,但我没有参与Cumber测试,没有时间进行进一步的实验 只是想知道是否有人有任何特定的理由使用一种方法而不是另一种方法,或者

是否有人有任何具体的理由使用一个自动测试跑步者而不是另一个?我使用了Autofeature+autotest,我非常喜欢它设置的内置过程,它首先运行我的rspec单元测试,然后运行Cumber测试,只有最后一个失败的测试-它适用于编写Cumber测试的标准工作流,设置步骤直到它们失败,然后进入单元测试以获得详细的功能

我在标准rspec配置中使用了guard,它也运行良好,但我没有参与Cumber测试,没有时间进行进一步的实验

只是想知道是否有人有任何特定的理由使用一种方法而不是另一种方法,或者一种方法是否可以缓解另一种方法的弱点

谢谢你的意见,
Tony

我最近从autotest调到guard是有原因的,它比autotest工作得更好,而且它有一个。因此,通过一个流程,您可以监控很多事情

目前我用它来做,但是列表很长,如果你需要它做其他事情,你可以随时实现你的防护

我发现它非常有用,尤其是在开发时,因为一旦您更改了需要重新启动服务器的内容(即路由、配置等),它就会重新加载服务器

一些可用的防护可以以某种方式替换,例如,使用yard,您可以启动自己的服务器,但是您需要两个不同的进程,使用防护,您可以用一个进程完成所有工作

换句话说,Guard更像是一个通用框架,用于每个需要执行由文件更改触发的操作的进程,autotest仅限于运行测试

更新 回应你的评论

您可以在
.rspec
文件中使用
--rand
随机化规范顺序。通过这种方式,这是以rspec顺序实现的,当您使用
rake
rspec
可执行文件调用rspec时,它也可以工作

对于较少的文件,有


此外,最新版本的guard还嵌入了一个Rails控制台,在guard空闲时可用,在开发模式下非常有用。

Minitest,spork和guard不能一起工作。
LoadError:没有要加载的文件---r

因此:

所以我切换到自动测试(参见自述文件中Michael Grosser的轻量级测试套件)。Fsevent似乎可以减少CPU负载,但它不像我使用Fsevent的旧Guard设置那样“被动”。我不知道为什么

更新:事实上,我知道为什么。我在自动测试上打开了一个(次要)问题:

默认睡眠时间为1秒。我在这个问题上有一个变通办法,但它是一个黑客。我不知道一个优雅的解决方案。有了它,它的动作和Guard一样快,可以与Minitest一起工作


Autotest+Minitest似乎无法进行彩色输出,因为它不是tty。这与自动测试iirc无关。我喜欢Guard的Guardfile设置,我不知道自动测试中的“观察者”在哪里。到目前为止,它只是工作,但这可能是一个问题。

感谢您的输入。事实上,一旦我实现了一个页面并开始设计和元素放置,我仍然使用guard来运行livereload。当使用guard运行规范时,它是否会像自动测试一样随机化测试顺序?当我有更少的项目在进行时,我需要查看警卫文件,看看我是否可以自信地将其折叠到我的过程中。@Tonys我已经更新了我的答案。顺便说一句,如果有用就接受它;-)使用'gem'guard minitest',:git=>'git://github.com/pmq20/guard-minitest.git“`,这个和组合一起工作。