MINITEST,测试::单位,轨道(minitest, test::unit, and rails

2019-06-24 09:53发布

我读的地方,“MINITEST”是“红宝石1.9.2+新的测试::单位”。

但是Ruby 1.9.3似乎包括 测试::单位 MINITEST ,是真的吗?

在默认轨测试,在列出的Rails测试指南 ....之类ActiveSupport::TestCaseActionController::TestCase ,这些都是使用Test::UnitMinitest

在轨道导向件,它示出了具有这样定义的测试例子:

test "should show post" do
  get :show, :id => @post.id
  assert_response :success
end

这句法, test string ,而不是定义与名称类似方法test_something -在文档中的任何未提及Test::Unit或MINITEST。 那是哪里来的? Rails的是将它添加,还是实际的...无论测试lib中轨的一部分使用?

PS:请不要告诉我“只是使用rspec的”。 我知道RSpec的。 我试图探索STDLIB的替代品,在轨道的背景下。

Answer 1:

有一个Test::Unit “兼容性”附带MINITEST,这样就可以(可能)使用现有的Test ::单元测试-是模块。 这可能是Test::Unit ,你所看到的模块。

由于导轨3.2.3,发生器创建的测试包括rails/test_help其包括test/unit

test "something" do语法是轨道的延伸。 它在定义ActiveSupport::Testing::Declarative ,这是require “用d rails/test_help



Answer 2:

这也许是一个有点切的反应,但你的rspec的评论......你可能想看看minitest/spec ,提供规范的味道语法STDLIB在1.9.x中

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



文章来源: minitest, test::unit, and rails