Look, there is an alarm like this:
class Alarm
def to_human
at.strftime("%k:%M").strip
end
end
And this test:
it "returns alarm in human-readable 24-hour format" do
time = Time.local(2019, 7, 7, 10, 35)
alarm = described_class.new(at: time)
expect(alarm.to_human).to eq "10:35"
end
To see if these tests are enough, I look at the module being tested and ask myself: what would happen, if I remove this piece of code, which expectation will fail? If none, then I'm 100% missing checks or expectations.
In the alarm clock example, the .strip
is in question. If you delete it, the test stays green. So the expectation is missing:
it "strips any leading spaces" do
time = Time.local(2019, 7, 7, 7, 15)
alarm = described_class.new(at: time)
expect(alarm.to_human).to eq "7:15"
end
Top comments (0)