[英]NUnit Not Utilizing Paramaters and Settings in .runsettings File
我正在尝试切换现有的Selenium解决方案以使用NUnit,因为它支持同一类中的测试并行化。 我遇到的问题是它似乎没有使用所选的.runsettings
文件,尽管NUnit支持它。 这样,我的意思是TestContext.Parameters.Count
始终为0,并且它不会将结果存储在我的.runsettings文件的<ResultDirectory>
节点中指定的路径中。
我查看了文档和对AdapterSettings的引用(它具有解析.runsettings文件的逻辑),我无法弄清楚为什么我的TestContext.Paramaters
在我使用.runsettings
文件时从未在我的测试中填充。
我创建了一个简单的测试解决方案,就像一个完整性检查和POC,它仍然没有填充。
我有
- NUnit 3.7.1
- NUnit3TestAdapter 3.7.0
- VisualStudio Professional 2017
我的.runsettings文件是:
<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
<!-- Parameters used by tests at runtime -->
<TestRunParameters>
<Parameter name ="testParameter1" value="value1" />
<Parameter name ="testParameter2" value="value2" />
</TestRunParameters>
</RunSettings>
我试图在测试中做的所有事情:
using System;
using NUnit.Framework;
namespace ClassLibrary1
{
[TestFixture]
public class UnitTestClass1
{
[Test]
[Parallelizable(ParallelScope.All)]
public void Class1TestMethod1()
{
// Below always returns 0
Console.WriteLine(TestContext.Parameters.Count);
// Below returns null
Console.WriteLine(TestContext.Parameters["testParameter1"]);
}
}
}
我真的可以使用其他一些关于如何排除故障的建议。 我们使用内置的Visual Studio单元测试工具(以及vstest.console.exe)为我们的测试套件广泛使用.runsettings文件,所以我非常有信心我正确使用它。
更新:
我在实际测试解决方案中替换了对Visual Studios测试属性的所有引用,以使用NUnits属性。 现在我得到了参数! 然而,这让我仍然感到困惑,为什么它不能在我的其他简单解决方案(上面显示的文件)中工作。
我显然只关心我的真正解决方案,但我仍然想知道为什么它不能在我的虚拟解决方案中工作。
另外 - 我仍然不确定在NUnit中找到TestResultDirectory
路径的位置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.