Ano*_*non 5 testing unit-testing ruby-on-rails
这似乎是一个简单的问题,但我无法在任何地方找到答案.我注意到,一般来说,Ruby on Rails应用程序中的测试可以写成:
test "the truth" do
assert true
end
Run Code Online (Sandbox Code Playgroud)
要么
def the_truth
assert true
end
Run Code Online (Sandbox Code Playgroud)
看起来新的材料似乎是第一种方式,但我似乎无法找到原因.一个人比另一个人更受青睐吗?还有一个更正确吗?谢谢.
近年来,从简短的缩写测试名称到更长的,类似句子的测试名称已经发生了变化.这部分是由于RSpec的普及以及测试是规范并且应该是描述性的概念.
如果您更喜欢描述性测试名称,我强烈建议您使用该test方法.我觉得它更具可读性.
test "should not be able to login with invalid password" do
#...
end
def_should_not_be_able_to_login_with_invalid_password
#...
end
Run Code Online (Sandbox Code Playgroud)
此外,因为描述是一个字符串,它可以包含任何字符.随着def你在其中的字符限制就可以使用.