使用命令行MStest

时间:2015-11-19 20:08:22

标签: c# command-line mstest

如果我错过了答案,我已经连续几天寻找这个答案,所以道歉。

我有一个MS测试,我想从命令行运行(最终在Jenkins中)。我有MSTest.exe和\ testcontainer设置,但无法获得我想要运行的实际测试的语法。

我的解决方案IntegrationTest有两个项目(使用页面模型设计模式),IntegrationTest和Tests。 FYI \ testcontainer指向IntegrationTest中的程序集(dll)

我想要运行的测试是在Tests / UnitTest1 / Login_To_system中。 我试过了:

/test:Tests.UnitTest1.Login_To_system
/test:Tests/UnitTest1/Login_To_system

与各种组合结果“无法找到”

没有用于测试的元数据文件 - 使用Community 2015。

整条线,最多一次测试尝试是:

"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\mstest.exe" /resultsfile:"C:\public\data\trunk\AutomatedTesting\IntegrationTest\TestResults\Results.trx" /testcontainer:"C:\public\data\trunk\AutomatedTesting\IntegrationTest\IntegrationTest\bin\Debug\IntegrationTest.dll" /test:Tests.UnitTest1.Login_To_system

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

这适合我。

using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace FooTest
{
    [TestClass]
    public class One
    {
        [TestMethod]
        public void TestMethod1()
        {
            ;
        }
    }
}

命令行:

  

C:\ TMP \ FooTest \ FooTest \ BIN \推出>的 MSTEST   /testcontainer:"./FooTest.dll“/test:"FooTest.One。”   Microsoft(R)测试   执行命令行工具版本14.0.23107.0版权所有(c)   微软公司。保留所有权利。

     

正在加载./FooTest.dll ...开始执行......

     

结果顶级测试   ------- ---------------通过FooTest.One.TestMethod1 1/1测试通过

     

概要   -------测试运行完成。通过1 ---------总计1   测试设置:默认测试设置

因此在/ test中标识测试是“AssemblyName.ClassName.MethodName” https://msdn.microsoft.com/en-us/library/ms182489.aspx