Ragazzo
TDD interested
Можно устроить небольшой холивар конечно, но меня интересует следующее - по сути в идеале specBDD должно заменять TDD, т.к. основывается изначально на поведение объекта, но что-то во многих примерах для spec все слишком гладко и просто, может я конечно не дорос, но все же, пример простой ситуации (пусть будет удаление пользователя)
Да, понятно что мы тестируем лишь поведение и лезть внутрь нам не стоит, но все же, надо убедиться что тот же пользователь например удален. Т.е. получатеся TDD+specBDD или все же TDD=>specBDD ? Конечно хорошо когда ты начинаешь проектировать систему именно с того как объекты должны себя вести и т п, а не с тестирования несуществующих методов, и в том и в том есть свою плюсы, но заменяет ли specBDD полностью TDD хочется поинтересоваться у тех кто использует)?
PHP:
//TDD
public function testDelete()
{
//load fixtures
$this->assertInstanceOf('Users',$user);
$this->assertTrue($user->delete());
//check that user is deleted
$this->assertNull(Users::model()->findByPk($user->id));
}
PHP:
//specBDD
public function it_can_be_deleted()
{
$user->delete()->shouldReturn(true);
}