NUnit未在.runsettings文件中使用参数和设置

时间:2017-07-14 14:27:45

标签: visual-studio nunit nunit-3.0

我正在尝试切换现有的Selenium解决方案以使用NUnit,因为它支持在同一个类中并行化测试。我遇到的问题是它似乎没有使用所选的.runsettings文件,尽管它是supported by NUnit。这样,我的意思是TestContext.Parameters.Count始终为0,并且它不会将结果存储在我的.runsettings文件的<ResultDirectory>节点中指定的路径中。

我查看了文档和对AdapterSettings的引用(其中包含解析.runsettings文件的逻辑),我无法弄清楚为什么我的TestContext.Paramaters永远不会填充在我的.runsettings中我在使用NUnit 3.7.1文件时进行测试。

我创建了一个简单的测试解决方案,就像一个完整性检查和POC一样,它仍然没有填充。

我有 - NUnit3TestAdapter 3.7.0
- VisualStudio Professional 2017
- <?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>

我的.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"]);
        }
    }
}

我试图在测试中做的所有事情:

TestResultDirectory

我真的可以使用其他一些建议来解决问题。我们使用内置的Visual Studio单元测试工具(以及vstest.console.exe)为我们的测试套件广泛使用.runsettings文件,所以我非常有信心我正确使用它。

更新
我在实际测试解决方案中替换了对Visual Studios测试属性的所有引用,以使用NUnits属性。现在我得到了参数!然而,这让我仍然感到困惑,为什么它不能在我的其他简单解决方案(上面显示的文件)中工作。

我真的只关心我真正的解决方案,但我仍然想了解为什么它不适用于我的虚拟解决方案。

另外 - 我仍然不确定在NUnit中找到if(tipo.compereTo("SUM")==0)路径的位置。

0 个答案:

没有答案