私は純粋な TDD から始めようとしていますが、BDD フレーバーも検討しています。私は、MSpec を使用して単体テストを作成することが、NUnit とは対照的にどのように感じられるかを理解しようとしています。
次のような単純な MSpec テストを考えてみましょう。
[Subject("PersonRepository")]
class when_adding_a_new_person
{
Establish context = () => sut = new PersonRepository();
Because of = () => sut.AddPerson("Jim", "Panse");
It should_have_a_person = sut.Count.ShouldEqual(1);
It should_have_that_persion = sut.Contains("Jim", "Panse");
static PersonRepository;
}
BDD 拡張機能などを使用せずに、これをきれいな方法で NUnit に変換するにはどうすればよいでしょうか。Establish
それぞれのアサーションを 1 つの個別に実行可能なテストにし Because
、すべてのアサーションに対して 1 回だけ実行するのは良い考えだと思います。[Setup]
forEstablish
と を使用できますBecause
が、それはテストごとに実行されます。Assert.
forを使用できますIt
が、個別に実行可能なテストにはなりません。
この例は、NUnit スタイルとどのように対照的でしょうか?