minitest,test :: unit和rails
我读到某个地方’minitest’是“ruby 1.9.2+的新测试::单位”。
但ruby 1.9.3似乎包括test :: unit 和 minitest ,这是真的吗?
在默认的rails测试中,如Rails测试指南中所述 ……像ActiveSupport::TestCase
, ActionController::TestCase
这样的东西是使用Test::Unit
还是Minitest
?
在rails指南中,它显示了如下定义的测试示例:
test "should show post" do get :show, :id => @post.id assert_response :success end
在定义Test::Unit
或Minitest的文档中没有提到该语法, test string
,而不是定义名称类似test_something
方法。 来自哪里? Rails是否添加它,或者它实际上是…的一部分……无论是测试lib rails使用的是什么?
PS:请不要告诉我“只使用rspec”。 我知道rspec。 我试图在rails的上下文中探索stdlib替代方案。
Minitest附带了一个Test::Unit
“兼容性”模块,因此您可以(可能)按原样使用现有的Test :: Unit测试。 这可能是您看到的Test::Unit
模块。
从rails 3.2.3开始,生成器创建的测试包括rails/test_help
,其中包括test/unit
。
test "something" do
语法是rails扩展。 它在ActiveSupport::Testing::Declarative
定义, require
‘d by rails/test_help
。
这可能是一个切向响应,但对于你的rspec注释…你可能想看一下minitest/spec
,它在1.9.x中的stdlib中提供了spec flavor语法。