Я должен возразить против ответа Криса, что они являются альтернативой.В моем Rails-приложении я использую Needa и Rspec, и они хорошо дополняют друг друга.
Эта комбинация позволяет мне писать краткие однострочные модульные тесты для повторяющихся вещей, таких как ассоциации и проверки, а также иметь полный набор rspec для более сложных спецификаций.Вы получаете лучшее из обоих миров без каких-либо конфликтов.
Проверьте Должно README , которое показывает, как установить вдоль боковой Rspec.В нем даже говорится, что он предоставляет «Test :: Unit- и RSpec-совместимые однострочники, которые тестируют обычные функциональные возможности Rails. В противном случае эти тесты были бы намного более длинными, более сложными и подверженными ошибкам».):
В верхней части моих спецификаций я всегда объявляю свои классовые отношения и проверочные тесты, которые являются краткими и легко читаемыми.
describe Component do
context 'relationships' do
it { should belong_to(:technology)}
it { should have_many(:system_components) }
it { should have_and_belong_to_many(:variables) }
it { should have_many(:images).dependent(:destroy) }
it { should have_many(:documents).dependent(:destroy) }
end
context 'validations' do
it { should validate_presence_of(:make) }
it { should validate_presence_of(:model) }
it { should ensure_length_of(:name).is_at_most(100) }
it { should validate_presence_of(:technology_id) }
end
end
Тогда в остальной части моей спецификации будут более сложные тесты, в которых я использую макеты и заглушки из Rspec.