Ruby / BDD/TDD — Учимся писать матчеры
Разработка, основанная на специфицировании поведения (BDD), — один из краеугольных камней философии Ruby.
Очень удачной реализацией BDD является всем знакомый RSpec. Одной из замечательных черт RSpec является его расширяемость.
Так, мы используем RSpec совместно с Factory Girl (хотя стоило бы перейти на Machinist), RR (прекрасный каркас для заглушек), Spork и недавно перешли с Shoulda на Remarkable.
Естественно, захотелось сразу сделать наши спеки более простыми для понимания. Например, мы хотим проверять в спеках наличие определений обратного вызова.
Хорошим способом сделать это является создание нового «ожидателя» (matcher).
AD: