我正在Visual Studio中使用Selenium和NUnit对我的测试用例进行排序。
我无法访问两个字符串变量,因为它们属于两个不同的测试用例。
我的代码的简化版本
namespace AutomatedTestCases
{
[TestFixture]
public class TestClass : BaseTest
{
private String A;
private String B;
[Test]
public void TestCase1()
{
String A = "ABC123";
Console.WriteLine(A);
}
[Test]
public void TestCase2()
{
String B = "ABC123";
Console.WriteLine(B);
}
[Test]
public void TestCase3()
{
Console.WriteLine(A);
Console.WriteLine(B);
}
[Test]
public void OrderOfTestCases()
{
TestCase1();
TestCase2();
TestCase3();
}
}
}
当我从测试用例中打印文本时,将打印ABC123。 但是当我按顺序(OrderOfTestCases())运行它们时,它什么也不打印或为空。
因此,似乎“ ABC123”值未存储在测试用例之间的变量中。
答案 0 :(得分:1)
A
和B
变量只能在声明它们的方法中访问。如果要在最初声明它们的方法之外访问A
或B
,则必须将声明移至类范围。
[TestFixture]
public class TestClass : BaseTest
{
private string A = "ABC123";
private string B = "ABC123";
}
这意味着您可以使用A
类中的任何Test方法访问B
或TestClass
变量。
如果只想定义变量并在测试中分配它的值,则应该简单地使用:
private string A;
private string B;
以及您的[Test]
方法中
[Test]
public void TestCase1()
{
A = "ABC123";
}