Ruby / BDD/TDD — Учимся писать матчеры

Разработка, основанная на&nbspспецифицировании поведения (BDD), — один из краеугольных камней философии Ruby.



Очень удачной реализацией BDD является всем знакомый RSpec. Одной из замечательных черт RSpec является его расширяемость.



Так, мы используем RSpec совместно с Factory Girl (хотя стоило бы перейти на Machinist), RR (прекрасный каркас для заглушек), Spork и недавно перешли с Shoulda на Remarkable.



Естественно, захотелось сразу сделать наши спеки более простыми для понимания. Например, мы хотим проверять в спеках наличие определений обратного вызова.



Хорошим способом сделать это является создание нового «ожидателя» (matcher).



AD: