我有以下内容:
- .orderedtest 文件,其中包含按顺序排列的测试列表
- .runsettings 文件,我在其中指定了一些测试参数
我正在尝试使用以下命令通过命令行执行测试:
vstest.console.exe MyOrderedTests.orderedtest /Settings:MyTestParameters.runsettings /TestCaseFilter:"TestCategory=Production" /Logger:trx
我收到以下警告,并且没有执行任何测试。
警告:MyOrderedTests.orderedtest 中没有可用的测试。确保已安装的测试发现器和执行器、平台和框架版本设置正确,然后重试。
我真的很感激帮助!
我什至尝试通过 VS IDE 运行测试。详细说明: 1. 我有两个测试 2. 我有一个类 Initialize,它从 .runsettings 文件访问 TestRunParameters。3. 我在测试中打印 TestRunParameter。4. 我单独执行测试,甚至一次执行测试,它们执行得很好。
现在我介绍使用 .orderedtest 文件 1 的测试排序。我使用这个 orderedtest 文件执行测试,并在类 Initialize 中获得 NullReferenceException(它尝试从 .runsettings 文件访问 TestRunParameters)
类初始化方法 TestTestProject.UnitTest1.ClassInit 抛出异常。System.NullReferenceException:System.NullReferenceException:对象引用未设置为对象的实例。
下面是我的简单示例测试代码:
公共静态字符串网址;
[TestMethod]
public void TestMethod1()
{
Console.WriteLine("Test Method 1");
Console.WriteLine(url);
}
[TestMethod]
public void TestMethod2()
{
Console.WriteLine("Test Method 2");
Console.WriteLine(url);
}
[ClassInitialize]
public static void ClassInit(TestContext context)
{
url = context.Properties["webAppUrl"].ToString();
}
我在 ClassInit() 中得到 NullReferenceException。