Możecie wyjaśnić albo polecić jakieś źródła odnośnie różnicy między TDD a BDD?
Czy można to stosować razem?
Dobrze rozumiem, że TDD to "tylko" pisanie testów przed kodem.
A BDD to "uzupełnienie" TDD o pisanie testów testujących zachowanie a nie implementacje?
TDD: Zakładamy, że Counter.Count jest równe 0 gdy tworzymy obiekt. - Znamy implementacje.
var counter = new Counter();
counter.Tick();
Assert.That(counter.count, 1);
BDD: Nie interesuje nas co się dzieje - wiemy, że Tick zwiększa o 1.
var counter = new Counter();
var exceptedCount = counter.count + 1;
counter.Tick();
Assert.That(counter.count, exceptedCount);