有没有办法在[TestFixture]的后续测试中利用nUnit [Test]中定义的变量?

时间:2019-07-18 00:10:48

标签: c# api nunit restsharp

我正在使用RestSharp将JMeter TestPlan转换为nUnit以使用API​​调用。我的目标是将这些测试合并到我的Visual Studio项目解决方案中。 我的问题是,JMeter的“测试计划”中的许多API调用都从其JSON响应中提取键/值,然后将其用于后续测试的请求中。 我的问题是,是否可以在nUnit / RestSharp中根据测试的响应定义变量,以在[TestFixture]中的后续测试中使用这些变量?还是在每个[测试]下都必须重新定义这些变量?

1 个答案:

答案 0 :(得分:1)

使用[Order(n)]属性按顺序运行测试,而我只是使用私有对象来存储测试之间的变量。像这样:

[TestFixture]
public class Tests
{
    private int valueBeingPassed;
    [OneTimeSetUp]
    public void Setup()
    {
        valueBeingPassed = 1;
    }

    [Test, Order(1)]
    public void Test1()
    {
        valueBeingPassed += 2;
        Assert.AreEqual(valueBeingPassed, 3);
    }
    [Test, Order(2)]
    public void Test2()
    {
        var doubleValue = valueBeingPassed * 2;
        Assert.AreEqual(doubleValue, 6);
    }
}