我在运行rake的rails应用程序的规范时遇到了问题,它在某个规范上冻结了。我想看看什么规格正在运行。
答案 0 :(得分:4)
我有一个非常好笑的答案。
我发现的问题是规范的名称是在成功或失败之后写的。在你的情况下,它永远不会发生。
所以你可以带一个自定义格式化器!是的,它会起作用。问题是基本格式化程序定义了许多点,例如组启动时,示例启动时,但可用的格式化程序(http://github.com/rspec/rspec-core/tree/master/lib/rspec/core/formatters/)不使用 example_started 方法,这正是你的方法需要。
创建自定义格式化程序很简单 - 只需将此文件放入spec / support / formatters / anxious_formatter.rb
class AnxiousFormatter < RSpec::Core::Formatters::DocumentationFormatter
def example_started(example)
message = "- #{example.description}"
output.puts message
output.flush
end
end
然后你可以用:
运行它spec -r spec/support/formatters/anxious_formatter.rb -f AnxiousFormatter spec/models/...
上面的示例适用于Rails 3和RSpec 2.0 - 对于以前的版本,它会略有不同。有关自定义格式化程序的更多信息(适用于Rails 2和RSpec 1.x)可以在项目维基上找到:http://wiki.github.com/dchelimsky/rspec/custom-formatters
好笑,不是吗?