Я пытаюсь начать работу с чистого TDD, а также рассмотреть вкус BDD. Я пытаюсь понять, как написания модульных тестов с MSpec чувствует себя в отличие от NUnit.Преобразование тестов 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;
}
Как бы вы преобразовать это NUnit в чистом виде, но без использования каких-либо расширений BDD или что-нибудь. Я думаю, что это хорошая идея, что каждый должен утверждать, что это один отдельно выполняемый тест, и Establish
и Because
должны выполняться только один раз для всех утверждений. Я мог бы использовать [Setup]
для Establish
и Because
, но это будет работать для каждого теста. Я мог бы использовать Assert.
для It
, но это не сделало бы их отдельными проверками.
Как этот пример контрастирует с стилем NUnit?