我目前正在用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'
答案 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结果。