如何使用Appveyor运行自定义C单元测试?

时间:2018-02-11 15:31:45

标签: c unit-testing appveyor

我目前正在用C(https://github.com/Srekel/sralloc)编写一个开源库,并且运行一个简单的单元测试解决方案/项目。它使用一个简单的C单元测试框架并生成一个unittest.exe,它打印出结果并返回1或0,具体取决于它是否成功。

我的问题是,我不确定如何配置Appveyor在构建后运行此可执行文件。 Appveyor可执行文件在C:\projects\sralloc\examples\Build\x64_Debug\unittest.exe

生成

所以我尝试了这个:

test_script:
  - '%APPVEYOR_BUILD_FOLDER%\examples\build\%PLATFORM%_%CONFIGURATION%\unittest.exe'

然而,Appveyor说:The system cannot find the path specified.

我在网上搜索了相当数量,但却找不到任何东西。

这是我的完整appveyor.xml

version: 1.0.{build}

image: Visual Studio 2017

configuration:
 - Debug
 - Release

build:
  parallel: true
  project: examples/sralloc.sln

test_script:
  - '%APPVEYOR_BUILD_FOLDER%\examples\build\%PLATFORM%_%CONFIGURATION%\unittest.exe'

1 个答案:

答案 0 :(得分:1)

我将您的仓库分叉并将以下内容添加到appeyor.yml

platform:
  - x64

并且cannot find the path错误消失了。如果您在YAML中没有此设置,则构建VM上没有名为platform的环境变量,并且msbuild正在选择first in list平台。

旁注:现在它坚持Press any key to continue . . .,但我相信这是另一个主题,您可以通过更改命令行语法来修复它。

附注2:使用this approach上传文本结果(我假设您的测试可以使用其中一种受支持的格式创建XML结果。