我希望我的测试夹具看起来像这样:
public class Adding_two_and_three
{
[Given]
public void Two_and_three()
{
....
}
[When]
public void Adding_Them()
{
...
}
[Then]
public void Result_should_be(5)
{
...
}
分别使用Given
和Then
属性可以实现 TestFixtureSetUp
和Test
。 Then
- 方法的参数也可以使用Values
属性来完成。但是有没有使用NUnit的When
- 方法?另请注意,我希望能够使用多个Then
方法,因此When
方法只能执行一次。
答案 0 :(得分:1)
免责声明:此类有效,但在尝试之前我会先查看其他框架。
我在NUnit中以与G / W / T方法类似的方式编写了一些测试,但看起来更像是这样:
[TestFixture]
public class Adding_two_and_three
{
[TestFixtureSetUp]
public void Given_two_and_three()
{
// ...
}
[SetUp]
public void Two_and_three()
{
// ...
}
[Test]
public void Result_should_be(int expected = 5)
{
// ...
}
}
与传统的G / W / T测试装置相比,这种方法可能会遇到许多弊端,但如果这对您有用,那就太棒了! :)
答案 1 :(得分:0)
刚刚意识到可以将构造函数用作Given
,将TestFixtureSetUp
用作When
,将Test
用作Then
:
public class Adding_two_and_three
{
[Given]
public Adding_two_and_three()
{
....
}
[When]
public void Adding_Them()
{
...
}
[Then]
public void Result_should_be(5)
{
...
}
}
这解决了这个问题,但会限制Given
的命名,这不是最佳的。