【发布时间】:2010-12-07 20:07:18
【问题描述】:
我正在尝试开始使用纯 TDD 并考虑 BDD 风格。我试图理解,与纯粹的 NUnit 相比,使用 MSpec 编写单元测试的感觉如何。
考虑一个简单的 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 风格有何对比?
【问题讨论】:
标签: tdd comparison nunit bdd mspec