c++ - 在没有测试框架的情况下使用 C++ 在 Appveyor 中运行测试

标签 c++ powershell cmd appveyor

我们目前已经使用 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/

相关文章:

c++ - 如何在 C++ 中仅实例化一个变量一次?

node.js - 如何向 message.content 添加多个参数?

windows - 错误 : Flutter plugin not installed; this adds Flutter specific functionality

cmd - NSIS 运行时 CMD 路径和参数中带有空格

c++ - 如何让 MSVC 将未初始化的数据放入 .bss?

c++ - 放置在 unordered_map 中的项目是存储在堆栈还是堆中?

c++ - 使 QTreeWidget 项目在拖放时展开

user-interface - Powershell登录脚本,是否可以向用户显示对话框或读取一些用户输入?

powershell - 如何使用powershell设置IIS App Pool Cpu速率限制

.net - 在哪里可以找到Powershell .NET类型加速器的列表?