0

下面是一个 Rails 模型测试:

it "will respond to name" do
  @user.must_respond_to :name
end

在 minitest 中,有没有办法像这样缩短这种语法?

it { must_respond_to :name }

甚至这个?

it { must_respond_to (:name) }
4

2 回答 2

0

您正在寻找的语法对于 minitest 中的方法定义的断言和期望是不可能的。你想要的是匹配器。看看 minitest-matchers 项目,它启用了你所追求的语法。

https://github.com/wojtekmach/minitest-matchers

于 2013-06-29T15:56:23.667 回答
0

我不知道是否建议这样做,但也许你可以这样做:

alias :old_it :it
def it test_name = "", ≺ old_it(test_name){@user.instance_eval(&pr)} end
于 2013-05-30T02:43:09.587 回答