Nunit 测试订单 - 单一测试 - 多个订单
Nunit Test Order - Single Test - Multiple Orders
对于Nunit测试单,一个测试是否可以有多个订单位置,比如[Test, Order(3, 10, #...)]?
场景 - 我正在使用端到端有序测试(使用断言验证输入的信息)自动化多页在线应用程序,我想验证之前页面上的信息是否仍然存在 - 已保存 - 当我点击后退 按钮(基本上,使用后退 按钮进行导航,从应用程序的最后一页开始反向检查端到端)。我想重用已经存在的断言,而不是再次重写相同的断言。
我尝试了以下实验,它生成构建错误 CS1729 - 'type' 不包含采用 'number' 参数的构造函数:
[测试, 订单(66, 67)]
**
[测试,订单(66)(67)]
**
[测试,订单(66),订单(67)]
**
[测试,订单(66)]
[测试,订单(67)]
我用 Google 搜索了这个,但我没有看到执行上述操作的任何内容,所以我认为这是不可能的,但想确认一下。我无法删除 Order 属性,因为这是此测试要求的一部分。
不,那不可能。 OrderAttribute
设置了一个属性,这是一个简单的整数。
要模拟出你想要的效果,你可以这样做:
- 将相关测试的所有代码提取到单独的方法中,由测试调用。它应该与测试具有相同的签名。
- 使用不同的名称复制您要重复的测试。
- 为每个测试分配不同的订单属性。
假设 void TestMethod()
的签名看起来像这样...
[Test, Order(66)]
public void MyTest66()
{
MyRealTest();
}
[Test, Order(67)]
public void MyTest67()
{
MyRealTest();
}
private void MyRealTest()
{
// Your actual test code goes here
}
注意...这是一个 非常丑陋的 hack 但我能想到的唯一有保证的方法来做你指出的是必需的。
对于Nunit测试单,一个测试是否可以有多个订单位置,比如[Test, Order(3, 10, #...)]?
场景 - 我正在使用端到端有序测试(使用断言验证输入的信息)自动化多页在线应用程序,我想验证之前页面上的信息是否仍然存在 - 已保存 - 当我点击后退 按钮(基本上,使用后退 按钮进行导航,从应用程序的最后一页开始反向检查端到端)。我想重用已经存在的断言,而不是再次重写相同的断言。 我尝试了以下实验,它生成构建错误 CS1729 - 'type' 不包含采用 'number' 参数的构造函数: [测试, 订单(66, 67)] ** [测试,订单(66)(67)] ** [测试,订单(66),订单(67)] ** [测试,订单(66)] [测试,订单(67)]
我用 Google 搜索了这个,但我没有看到执行上述操作的任何内容,所以我认为这是不可能的,但想确认一下。我无法删除 Order 属性,因为这是此测试要求的一部分。
不,那不可能。 OrderAttribute
设置了一个属性,这是一个简单的整数。
要模拟出你想要的效果,你可以这样做:
- 将相关测试的所有代码提取到单独的方法中,由测试调用。它应该与测试具有相同的签名。
- 使用不同的名称复制您要重复的测试。
- 为每个测试分配不同的订单属性。
假设 void TestMethod()
的签名看起来像这样...
[Test, Order(66)]
public void MyTest66()
{
MyRealTest();
}
[Test, Order(67)]
public void MyTest67()
{
MyRealTest();
}
private void MyRealTest()
{
// Your actual test code goes here
}
注意...这是一个 非常丑陋的 hack 但我能想到的唯一有保证的方法来做你指出的是必需的。