TestStack White - 从命令行运行测试

6
我正在寻找一种从命令行开始测试的解决方案。
  • I created a UnitTest Procjet in VisualStudio2017 for my .NET solution.
  • Added TestStack.White NuGet package to the project.
  • The test are running fluently when I start from the VisualStudio2017.
  • I would like to start it from Jenkins also. I think it is the easiest to do it from command line, so I add it to my pipeline configuration (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问题页面或其他网络上的知名场所中都找不到真正的答案。


你是在尝试远程运行这些测试吗?我知道我在使用TFS构建时遇到了与计算机不接受远程UI操作相关的问题(通过勾选一个名为“UI测试”的复选框解决)。 - Rescis
Jenkins在代理上运行。我猜它是远程的。我使用管道模式的Jenkins,提供Jenkinsfile,告诉它执行步骤。 - Tomi
据我所知,那听起来应该是这样的。很抱歉我并不能提供更多帮助,祝你好运。 - Rescis
找到了解决方案,马上就要回答了。 - Tomi
2个回答

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')
            }
        }

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接