给出-When-Then NUnit的例子
题
有人能指点我使用NUnit进行Give-When-Then测试的一些资源吗?
解决方案
如果您下载并添加对 StoryQ 的引用,您可以使用漂亮的BDD样式(请参阅通过点击链接获取样本,同时像往常一样使用NUnit(和TestDriven.Net,R#的跑步者,或者你有什么)。
其他提示
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));
}
这种测试风格的好处是你不需要看底层代码来理解行为的意图。
有关更多信息,请访问以下网站:
我知道这是一个老问题,但如果你还没有,你应该查看 SpecFlow 。它允许您以明文形式在特征文件中编写规范。该工具将根据要素文件自动生成NUnit测试。
您也可以查看一个小型图书馆
https://www.nuget.org/packages/Heleonix.Testing.NUnit/
该库提供了以JavaScript的Jasmine或Jest的方式编写GWT和AAA样式的测试,而不是在您的测试中编写//Arrange, //Act, //Assert
或命名不可读的方法(如Given_UserIsLoggedIn_When_SomeButtonIsPressed_Then_BlaBla
)之类的注释。见自述文件:
https://github.com/Heleonix/Heleonix.Testing/blob/主/ README.md
不隶属于 StackOverflow