我目前正在用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'
最佳答案
我分叉了您的仓库,并在您的appeyor.yml
中添加了以下内容:
platform:
- x64
并且
cannot find the path
错误消失了。如果YAML中没有此设置,则在构建VM上没有称为platform
的环境变量,并且msbuild
正在选择first in list平台。旁注:现在它停留在
Press any key to continue . . .
上,但是我相信这是另一个主题,您可以通过更改命令行语法来解决。旁注2:使用this approach上传文本结果(我假设您的测试可以使用一种受支持的格式创建XML结果。
关于c - 如何使用Appveyor运行自定义C单元测试?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48733140/