同样的问题waloeiii在twitter:在一切都变绿之后,我如何让自动测试/测试不运行完整的测试套件?
如何我已经autospec /测试后不一切 走向绿色运行 完整的测试套件?我写的下一个测试将为 为红色!
我宁愿手动运行完整测试套件。
顺便说一句,我尝试添加一个失败规格:
it "should flunk" do
flunk
end
但autospec似乎当它感觉像它忽略它。
同样的问题waloeiii在twitter:在一切都变绿之后,我如何让自动测试/测试不运行完整的测试套件?
如何我已经autospec /测试后不一切 走向绿色运行 完整的测试套件?我写的下一个测试将为 为红色!
我宁愿手动运行完整测试套件。
顺便说一句,我尝试添加一个失败规格:
it "should flunk" do
flunk
end
但autospec似乎当它感觉像它忽略它。
有点晚了,但我一直在寻找这个问题,以及因此想我会后我的解决方案:
以下内容添加到〜 /.autotest:
class Autotest
def rerun_all_tests
end
end
我认为这是通过设计 - 如果您修复了一个失败的规范,并且该部分中的所有其他规范都是绿色的,那么autospec将重新运行整个套件 - 这会告诉您,如果修复应用于你的项目有另一个或没有。
如果你只是想运行你在任何一个时间工作的规范,那么你可以在命令行中做到这一点:
ruby spec/controllers/my_spec.rb
或通过从您的规格按CMD + R内的TextMate文件。无论如何,您应该重新运行整个套件,否则您可能会缺少规格不合格的产品。
你确定你是不是感到困惑自动测试的启发式的预期的行为?
我的理解是,它运行发生了什么变化测试,并会继续运行失败的测试,直到他们通过,然后一旦他们通过运行整个测试套件,以确保没有别的爆发。
实际上它正在保守,并确保你没有出台副作用,打破其他不相关的测试这可能是一件好事。当然问题是,如果你正在做快速的红绿循环,你将会运行你的全套套件。
如果你想改变你需要在rails_autotest.rb
文件zentest编辑启发式这些行为。
您可以使用下列选项来避免这种行为 -
autospec --no-full-after-failed
当然有一种方法可以单独运行测试。 – 2009-06-26 03:37:30
当然可以。 autospec将自动为您运行单个测试。我只是不喜欢autospec,即使你仍然有失败或未定规格,它有时会重新运行整个测试套件。 – gsmendoza 2009-06-26 06:07:20