我可以在一个文件中运行所有测试:
rake test TEST=path/to/test_file.rb
Run Code Online (Sandbox Code Playgroud)
但是,如果我想在该文件中只运行一个测试,我该怎么做?
我正在寻找类似的功能:
rspec path/to/test_file.rb -l 25
Run Code Online (Sandbox Code Playgroud) 什么是在MINITEST的检查异常消息预期的语法assert_raises
/ must_raise
?
我正在尝试做出如下所示的断言,其中"Foo"
是预期的错误消息:
proc { bar.do_it }.must_raise RuntimeError.new("Foo")
Run Code Online (Sandbox Code Playgroud) 我下载了一个项目的源代码,发现了一个bug并修复了它.
现在我想运行测试以查明我是否已经破坏了任何东西.
测试采用最小的DSL.
我如何一次运行它们?
我搜索了适用的rake任务等,但我没有找到任何.
在我的测试中,我想为任何类的实例存根固定响应.
它可能看起来像:
Book.stubs(:title).any_instance().returns("War and Peace")
Run Code Online (Sandbox Code Playgroud)
然后,每当我打电话,@book.title
它就会返回"战争与和平".
有没有办法在MiniTest中执行此操作?如果是的话,你能给我一个示例代码片段吗?
或者我需要像摩卡这样的东西?
MiniTest确实支持Mocks,但Mocks对于我需要的东西来说太过分了.
我刚刚观看了Minitest 的Railscast.
使用RSpec与Minitest测试rails应用程序的优缺点是什么?我将失去哪些功能从RSpec转换为Minitest?
在为几个项目使用RSpec之后,我给了minitest/unit.到目前为止我喜欢它,但我错过了使用describe/context块以逻辑方式对我的测试/规范进行分组.
我知道minitest/spec提供了这个功能,但我喜欢minitest/unit感觉更接近于准系统Ruby.
是否有任何宝石为minitest/unit提供描述/上下文支持?或者,我应该只使用minitest/unit中长而无组织的测试文件?
我是一个相当新手的测试者,但一直试图在Rails中更好地使用TDD.
RSpec工作得很好,但我的测试很慢.我听说MiniTest速度要快得多,MiniTest/Spec DSL与我以前习惯使用RSpec的方式非常相似,所以我想我会试一试.
但是,我无法在网上找到任何提供如何设置和运行Minitest的演练.我学会了如何从RSpec书中测试,我不知道Test :: Unit或MiniTest应该如何工作.我在我的gemfile中有gem,我写了几个简单的测试,但我不知道在哪里放或者如何运行它们.我认为这是显而易见的事情之一,没有人愿意把它写下来......
任何人都可以向我解释如何设置一些Minitest/spec文件并让它们运行所以我可以比较Rspec的性能?
编辑
具体来说,这些是我最需要知道的基础知识:
rspec spec
或者rspec path/to/file_spec.rb
,我错过了什么?谢谢!
RSpec before(:suite)
和after(:suite)
MiniTest 有替代品吗?
我怀疑自定义测试运行器是有序的,但我无法想象这不是一个常见的要求,所以有人可能实现了.:-)
Ruby Test::Unit
有assert_nothing_raised
.Test::Unit
已被MiniTest取代.为什么MiniTest的断言/期望与此没有任何平行?例如,你可以期待,must_raise
但不是wont_raise
.
minitest ×10
ruby ×8
rspec ×2
testing ×2
assertion ×1
installation ×1
stub ×1
tdd ×1
test-suite ×1
unit-testing ×1