我们目前已经使用 CMakes 集成 CTest 在 Travis Ci 上设置了我们的测试,它只检查 int main()
是否返回 0 以外的值。
我们现在想在 Appveyor 中为我们的自动化窗口构建添加测试功能,同时仍然保持这种简单的返回值检查。
到目前为止,我们发现的用于 Appveyors 测试的每个资源都假定我们正在使用某种测试框架,例如 MSTest,而我们并不打算这样做。
我发现您可以在 Appveyor 上运行自定义 CMD 和 Powershell 测试脚本,这听起来是检查我们测试返回值的理想方式。
不幸的是,我们都没有使用 CMD 和 Powershell 的经验,也不知道如何实现这一目标。
供引用,这是有问题的项目:JNF_NEAT
最佳答案
您也可以使用 Cmake 和 Make for Windows。 cmake 默认安装在 build worker VM 上,make 应该在构建之前添加。这是我在尝试使其工作时创建的 appveyor.yml:
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 似乎工作正常,而 make 失败了。我对那些工具不是很熟悉,但我相信你可以从这里开始调优。我还添加了语句来创建 RDP session ,以便您能够从构建工作程序进行连接和调试。
谢谢,
伊利亚。
关于c++ - 在没有测试框架的情况下使用 C++ 在 Appveyor 中运行测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39574259/