Я довольно новичок в использовании RSpec. Мне интересно, что лучше всего подходит для чтения/вывода. Here I have two examples тестирования метода класса. Первый имеет прямо (?) Читаемые тесты, но вывод немного неоднозначен. Во втором есть подробные/избыточные тесты при чтении, но вывод очень ясен.Readablility in RSpec тесты/вывод
class StringTester
def self.is_hello?(s)
s == 'hello'
end
end
RSpec.describe StringTester do
# Tests are fairly readable in English...
describe '::is_hello?' do
it { expect(StringTester.is_hello?('hello')).to be_truthy }
it { expect(StringTester.is_hello?('something else')).to be_falsey }
end
end
# ...but the output is ambiguous without going back to look at the tests.
# Output:
# StringTester
# ::is_hello?
# should be truthy
# should be falsey
RSpec.describe StringTester do
# Tests are redundant when read in English...
describe '::is_hello?' do
it 'is true for "hello"' do
expect(StringTester.is_hello?('hello')).to be_truthy
end
it 'is false for "something else"' do
expect(StringTester.is_hello?('something else')).to be_falsey
end
end
end
# ...but the output is very straightfoward.
# Output:
# StringTester
# ::is_hello?
# is true for "hello"
# is false for "something else"
Таким образом, один из способов считается лучшей практикой, чем другой?
Существует не одна лучшая практика, поэтому любой ответ будет мнение. –