给出-When-Then NUnit的例子

epi*_*tka 6 c# bdd nunit nunit-2.5

任何人都可以指点我使用NUnit进行Give-When-Then测试的一些资源吗?

Jos*_*eph 6

Given When Then样式与单元测试的Arrange Act Assert样式密切相关.

这是一个例子:

[Test]
public void RotateAngle_Given27Degress_Returns64Degrees()
{
   //Arrange or Given
   var someAngleClass = new Angle();

   //Act or When
   var result = someAngleClass.Rotate(27);

   //Assert or Then
   Assert.That(result, Is.EqualTo(64));
}
Run Code Online (Sandbox Code Playgroud)

这种测试风格的好处是你不需要看到底层代码来理解行为的意图.

有关更多信息,请访问以下网站:

http://www.arrangeactassert.com/

Roy Osherove的博客

http://www.artofunittesting.com/


Mar*_*R-L 5

如果您下载并添加对StoryQ的引用,您可以使用漂亮的BDD样式(通过单击链接查看示例)并同时使用NUnit(和TestDriven.Net,R#的跑步者,或者什么有你).


Pet*_*ete 5

我知道这是一个老问题,但如果你还没有,你应该查看SpecFlow.它允许您以明文形式在特征文件中编写规范.该工具将根据要素文件自动生成NUnit测试.