minitest,test :: unit和rails

我读到某个地方’minitest’是“ruby 1.9.2+的新测试::单位”。

但ruby 1.9.3似乎包括test :: unit minitest ,这是真的吗?

在默认的rails测试中,如Rails测试指南中所述 ……像ActiveSupport::TestCaseActionController::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语法。

http://bfts.rubyforge.org/minitest/MiniTest/Spec.html