如何在Minitest Spec DSL中使用常规控制器测试断言

时间:2016-09-11 23:29:12

标签: ruby-on-rails minitest

我通常在RSpec中编写我的规格,但我也使用Minitest。 最近我了解到有一个最小的dsl可以像RSpec一样读取。他们称之为Minitest :: Spec。我已经检查过了,我想我喜欢它。 gem 'minitest-rails'使设置配置变得简单。然而,我遇到了一个限制,那就是集成规范。 assert_responseassert_no_differenceassert_template等断言的等价物是什么?

1 个答案:

答案 0 :(得分:1)

我看到了答案。事实证明,我把它们放在提供测试期望的宝石中。我查看了minitest/rails/controller.rb的源代码,我看到实现这些期望的简单方法是使实际最小的断言别名化。这是我的发现

class ActionController::TestCase # :nodoc:
  alias :must_respond_with :assert_response
  alias :must_redirect_to :assert_redirected_to
  alias :must_render_template :assert_template
  alias :must_select :assert_select
  alias :must_select_email :assert_select_email
  alias :must_select_encoded :assert_select_encoded
end