运行测试,而测试框架
问题描述:
目前,我们已通过使用CMakes设置我们的测试了上特拉维斯词集成CTEST,刚刚检查,如果int main()
回报别的东西比0运行测试,而测试框架
我们现在想将测试功能添加到我们在Appveyor中的自动化Windows构建中,同时仍保持这种简单的返回值检查。
迄今为止我们发现的Appveyors测试的每一个资源都假设我们正在使用某种类似MSTest的测试框架,我们不打算这么做。
我发现你可以在Appveyor上运行自定义的CMD和Powershell测试脚本,这听起来像是检查我们测试返回值的理想方法。
不幸的是,我们都很缺乏使用CMD和Powershell的经验,并且不知道如何实现这一点。
作为参考,这是有问题的项目:JNF_NEAT
答
我们建立.appveyor.yml这样的:
test_script:
- C:\projects\jnf-neat\x64\Release\XORSolver.exe
- C:\projects\jnf-neat\x64\Release\EvenNumbers.exe
其中XORSolver.exe
和EvenNumbers.exe
是我们已经习惯了在CMake的运行我们的集成测试。
答
您可以使用cmake并制作的Windows了。 Cmake默认安装在build worker VM上,make应该在build之前添加。
install:
# Install make for Windows unsing chocolatey
- ps: choco install make
build_script:
# Use the same commands which is used in .travis.yml
- cmake -DCMAKE_CXX_COMPILER=g++-6 CMakeLists.txt
# make fails here now
- make
- make test
# Start RDP access to connect and debug
on_finish:
- ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
的CMake似乎工作,而化妆失败:这里时,试图使其工作时appveyor.yml我创建。我对这些工具不是很熟悉,但我相信你可以从这里开始调整它。我还添加了声明来创建RDP会话,以便您能够从构建工作人员进行连接和调试。
谢谢,
伊利亚。