有没有办法在 [TestFixture] 的后续测试中使用 nUnit [Test] 中定义的变量?
Is there a way to utilize a variable defined in an nUnit [Test] in subsequent tests in a [TestFixture]?
我正在使用 RestSharp 将 JMeter TestPlan 转换为 nUnit 以使用 API 调用。我的目标是将这些测试合并到我的 visual studio 项目解决方案中。
我的问题是,JMeter 测试计划中的许多 API 调用都从它们的 JSON 响应中提取 key/values,然后用于后续测试请求。
我的问题是,是否可以在 nUnit/RestSharp 中定义来自测试响应的变量,这些变量可用于 [TestFixture] 中的后续测试?或者是否必须在每个 [Test] 下重新定义这些变量?
按顺序对 运行 测试使用 [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);
}
}
我正在使用 RestSharp 将 JMeter TestPlan 转换为 nUnit 以使用 API 调用。我的目标是将这些测试合并到我的 visual studio 项目解决方案中。 我的问题是,JMeter 测试计划中的许多 API 调用都从它们的 JSON 响应中提取 key/values,然后用于后续测试请求。 我的问题是,是否可以在 nUnit/RestSharp 中定义来自测试响应的变量,这些变量可用于 [TestFixture] 中的后续测试?或者是否必须在每个 [Test] 下重新定义这些变量?
按顺序对 运行 测试使用 [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);
}
}