TestStack White - 从命令行运行测试

时间:2018-01-03 14:00:21

标签: unit-testing jenkins ui-testing white teststack

我正在寻找一种从命令行开始测试的解决方案。

  • 我在VisualStudio2017中为我的.NET解决方案创建了一个UnitTest Procjet。
  • 将TestStack.White NuGet包添加到项目中。
  • 当我从VisualStudio2017开始时,测试正在流畅地运行。
  • 我也想从詹金斯开始。我认为从命令行最容易做到这一点,所以我将它添加到我的管道配置(Jenkinsfile)

    stage('Run UI Tests') {
        steps {
            bat('"C:\\PATH_TO_MSTEST\\mstest" /testcontainer:PATH_TO_MY_TEST_PROJECT\\bin\\Debug\\MyTests.dll')
        }
    }
    

当我尝试从cmd开始,就像我使用常规的单元测试一样,它不起作用 它说:

Starting execution...  
No tests to execute.

我在开始'运行UI测试'阶段之前构建项目。

任何想法如何让它发挥作用?可以在stackoverflow,testStack的github问题以及网络上的其他荣耀地点找到它

2 个答案:

答案 0 :(得分:2)

找到解决方案。 在我的本地开发人员计算机上它正常运行, mstest 版本 14 在构建代理计算机上, mstest 版本 15 ,这在某种程度上无法正常工作(它与TestStack White无关,只是单元测试不起作用)

我所做的是,调用 vstest.console.exe 而不是 mstest

C:\Program Files (x86)\Microsoft Visual Studio\2017\TestAgent\Common7\IDE\Extensions\TestPlatform\vstest.console.exe

所以,而不是

stage('Run UI Tests') {
    steps {
        bat('"C:\\PATH_TO_MSTEST\\mstest" /testcontainer:PATH_TO_MY_TEST_PROJECT\\bin\\Debug\\MyTests.dll')
    }
}

我在Jenkinsfile中的命令是:

stage('Run UiTests') {
            steps {
                bat('"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\TestAgent\\Common7\\IDE\\Extensions\\TestPlatform\\vstest.console.exe" PATH_TO_MY_TEST_PROJECT\\bin\\Debug\\MyTests.dll')
            }
        }

答案 1 :(得分:0)

nunit3-console是MSTEST的绝佳替代品。请参考下面的链接。

例如 nunit3-console \ bin \ Debug \ Automation.dll-其中“ cat = Smoke-Tests”

https://github.com/nunit/docs/wiki/Console-Command-Line