0

我希望我的测试夹具看起来像这样:

public class Adding_two_and_three
{
    [Given]
    public void Two_and_three()
    {
         ....
    }
    [When]
    public void Adding_Them()
    {
        ...
    }
    [Then]
    public void Result_should_be(5)
    {
        ...
    }

GivenThen可以分别使用和属性TestFixtureSetUp来实现。Test- 方法的参数Then也可以使用Values属性来完成。但是有没有When使用 NUnit 的方法?另请注意,我希望能够拥有多个Then方法,因此该When方法只能执行一次。

4

2 回答 2

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 测试夹具相比,您可能会遇到这种方法的许多缺点,但如果这对您有用,那就太好了!:)

于 2013-01-30T01:17:39.733 回答
0

刚刚意识到可以将构造函数用作Given, TestFixtureSetUpasWhenTestas 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不是最佳的。

于 2013-01-30T08:02:32.423 回答