1

我正在使用 MSTest 项目来自动化我的系统。测试项目工作正常。但是我需要在我的生产中运行测试项目而不安装 Visual Studio。所以我正在使用 VSTest.Console.exe 命令行。

我的登录方法如下

    [TestMethod]
    [TestCategory("SmokeTests")]
    public void Can_login_with_Empty_UserName()
    {             
     Login(TestContext.Properties["UserName"].ToString(), TestContext.Properties["Password"].ToString());                
    }

和我的 vstest.console 命令如下

vstest.console MyPath\SmokeTests.dll /Tests:Login /Settings: PathToSettingFile\tests.runsettings

当我运行此命令时,它会给我“System.NullReferenceException:对象引用未设置为对象的实例。” 错误

但是如果我改变我的方法如下

    [TestMethod]
    [TestCategory("SmokeTests")]
    public void Can_login_with_Empty_UserName()
    {            
     Login("Admin", "1234");                
    }

上面的代码将正常工作。

所以问题是

TestContext.Properties["UserName"].ToString()

当我通过 Visual Studio 运行测试用例时,没有问题。知道为什么 /Settings: PathToSettingFile\tests.runsettings 无法加载通过 vstest.console 命令运行的 runsettings 文件。谢谢你。

4

0 回答 0