RSpec
RSpec — предметно-орієнтований інструмент для тестування коду на Ruby, написаний на Ruby. BDD каркас широкого використання.
Тип | BDD каркас / інструмент для тестування |
---|---|
Перший випуск | 18 травня 2007 |
Стабільний випуск | 3.5.0 (1 липня 2016 ) |
Версії | 3.10.0 (30 жовтня 2020)[1] |
Репозиторій | github.com/rspec/rspec |
Платформа | кросплатформне |
Операційна система | крос-платформова програма |
Мова програмування | Ruby[2] |
Ліцензія | MIT |
Вебсайт | rspec.info |
Основна ідея інструменту — керована тестами розробка, за якої спочатку пишуться тести, а після цього — код програми.
Використання
RSpec надає предметно-орієнтовану мову для опису поведінки об'єктів. Ключові слова, які використовуються в RSpec, схожі на ті, які використовуються в інших мовах.
Кожна система тестування працює в наступному потоці: є певний контекст, де відбуваються певні події, описується результат, що очікується. Методи describe(), context() та it() є основноми при написанні коду за допомогою RSpec.
- describe()
Метод describe() використовується для опису класів, методів або групи прикладів.
describe 'Some spec' do
...
end
- context()
Блок context() призначений для класу чи методу, що можна згрупувати за контекстом. Міститься всередині describe().
describe 'Some spec' do
context 'Some context within describe' do
....
end
end
- it()
Метод для опису прикладу в контексті. Міститься всередині context() або describe(), якщо перший відсутній.
describe 'Some spec' do
context 'Some context within describe' do
it 'Some example within context' do
puts 'First test is here.'
end
end
end
Джерела
- Офіційний сайт RSpec (англ.)
- RSpec 2.x, 3.x (англ.)