RSpec & Rails: what not to write in `it`
Vasily Polovnyov
Posted on May 19, 2022
1. Useless, general words that bring no value:
# bad: what value? for what?
it "adds certain value"
# good
it "snoozes for an extra 5 minutes"
# bad: which result is correct?
it "returns correct result"
# good
it "returns user's initials"
# bad: how exactly it fails?
it "fails"
# good
it "raises a not found error"
# bad: formatted how?
it "returns formatted string"
# good
it "returns time in 24-hour format"
# bad: what 'ok' means?
it "is ok"
# good
it "creates draft invoices"
2. Implementation details:
# bad
it "changes @scheduled_on"
# good
it "reschedules campaign"
# bad
it "sets @todos"
# good
it "assigns todos to a given user"
3. Lies:
it "returns time in 24-hour format" do
expect(...).to eq "9:25"
end
it "strips leading zeroes" do
expect(foo(" 9:25 ")).to eq "9:25"
end
See also:
RSpec Style Guide
Better Specs
đź’– đź’Ş đź™… đźš©
Vasily Polovnyov
Posted on May 19, 2022
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.