按输出我的意思是.
,F
或*
用于传递,失败或待定期望。我可以让某些期望不显示吗?
describe User do
it "one"
it "two"
it "three"
end
这导致:
***
Pending:
User one
# Not yet implemented
# ./spec/model/user_spec.rb:89
User two
# Not yet implemented
# ./spec/model/user_spec.rb:90
User three
# Not yet implemented
# ./spec/model/user_spec.rb:91
Finished in 0.00063 seconds
3 examples, 0 failures, 3 pending
是否有可能沿着这些方向做点什么:
describe User do
it "one"
it "two", no_display: true
it "three"
end
所以我得到了这个输出(注意*
期望two
不存在):
**
Pending:
User one
# Not yet implemented
# ./spec/model/user_spec.rb:89
User two
# Not yet implemented
# ./spec/model/user_spec.rb:90
User three
# Not yet implemented
# ./spec/model/user_spec.rb:91
Finished in 0.00063 seconds
3 examples, 0 failures, 3 pending
也许某种以前的方法可以做到这一点?我只是创建一些自定义输出来帮助我进行RoR模型验证,显示验证错误的期望(它需要访问subject
变量),这本身就是一种期望它在我的控制台上留下了一个略微混乱的尾随点。
这是一个小问题,但如果它可以被压制,我将不胜感激。
答案 0 :(得分:0)
是的,您可以提供自己的“自定义格式化程序”并控制此输出和输出的任何其他方面。 https://relishapp.com/rspec/rspec-core/v/2-14/docs/formatters/custom-formatters和http://rubydoc.info/gems/rspec-core/RSpec/Core/Formatters
描述了指定自己的格式化程序的机制虽然我还没有对它进行过测试,但是如果你只想让单字符结果摘要静音,或者让它们依赖于一个示例属性,你可以重新定义example_passed
,{{1} }和example_failed
方法。
默认example_pending
的代码位于https://github.com/rspec/rspec-core/blob/b9293ae4e3ea19d0214ffa2f3ec4e87acc54debd/lib/rspec/core/formatters/progress_formatter.rb