在现有的Rails 3.2中使用Minitest。我正在尝试理解minitest-rails和minitest-spec-rails之间的区别。
发布于 2012-07-28 00:19:22
minitest-spec-rails和minitest-rails之间的主要区别是它们解决问题的范围不同。
minitest-spec-rails
minitest- Spec -rails覆盖了Rails默认提供的测试基础设施,并添加了在测试中使用Minitest Spec DSL和匹配器的功能。这意味着您不必对现有测试进行任何更改即可开始使用Spec DSL。这也意味着Spec DSL在每个测试中都可用。
minitest rails
minitest-rails增加了使用Spec DSL的能力,但也改变了编写测试的方式。它为您的测试提供了新的生成器,并允许您从TDD风格的断言或BDD风格的期望中进行选择。它将测试文件放在更合理的位置。
它还允许您现有的测试与新的Minitest测试并存。您可以选择覆盖类似于minitest-spec-rails的默认测试基础设施,但也可以保持它们不变。
披露:我是minitest-rails的作者
发布于 2012-06-17 04:34:31
使用minitest-spec-rails,我们有一个可行的解决方案,通过替换MiniTest::Spec作为ActiveSupport::TestCase的超类。这个解决方案很简单,不需要在test_helper.rb中重新创建新的测试用例,也不需要使用由minitest-rails等gem提供的生成器。
在Rails中进行最小的测试更改。您的测试类将继承自MiniTest::Rails::ActiveSupport::TestCase,而不是ActiveSupport::TestCase。您可以使用MiniTest::Spec DSL。您可以使用标准模型、控制器、资源和其他生成器生成测试文件。
rails generate model User 或
您可以通过提供--spec选项来指定在任何生成器上使用MiniTest::Spec DSL生成测试
rails generate model User --spechttps://stackoverflow.com/questions/11066286
复制相似问题