我在RSpec上描述课程
class Pupil
def initialize(name, dateOfBirth)
@name = name
@dateOfBirth = dateOfBirth
end
def name
@name
end
def ages
#should calculate ages
end
end
describe Pupil do
context do
pupil = Pupil.new("Stanislav Majewski", "1 april 1999")
it "should returns name" do
pupil.name.should eq("Stanislav Majewski")
end
it "should calculates ages" do
#not described
end
end
end
RSpec返回:
..
Finished in 0.00203 seconds
2 examples, 0 failures
是否有一种优雅的方式来显示未描述该方法的失败消息?
答案 0 :(得分:1)
如果您担心自己会创建一个测试而忘记放入任何测试(有时我会创建三个我知道我需要的测试,并依次处理它们)然后你可以做以下内容:
it "should calculates ages" do
fail
end
OR
it "should calculates ages"
...而且全部(没有阻止)会将测试标记为自动挂起。换句话说,在他们的测试代码中包含实际测试代码之前,请不要填写测试。
此外,如果您不测试任何断言(即,如果您的规范中不包含任何调用should
的行),您的规范似乎会通过。这种情况发生在我身上几次,在那里我写了一个新的测试,期望它失败,但事实并非如此,因为我忘了包含对should
的调用,这实际上是测试断言。