如何在Appveyor中运行自定义C语言单元测试?
在Appveyor中运行你的C语言单元测试可执行文件
我来帮你搞定Appveyor配置单元测试的事儿!其实很简单,只需要在项目根目录的appveyor.yml配置文件中添加测试执行步骤就行,具体步骤如下:
1. 确保构建步骤正确生成测试可执行文件
首先,你需要确保Appveyor已经完成了测试项目的编译,生成unittest.exe。如果你的appveyor.yml还没配置构建脚本,可以加上类似这样的内容(假设你用MSBuild编译Visual Studio项目):
# 指定构建环境,比如用最新的Visual Studio版本 image: Visual Studio 2022 # 编译测试项目,生成x64 Debug版本的unittest.exe build_script: - msbuild examples\YourTestProject.vcxproj /p:Configuration=Debug /p:Platform=x64
记得把YourTestProject.vcxproj替换成你实际的测试项目文件名。
2. 添加测试执行脚本
在构建完成后,直接调用你的unittest.exe路径来运行测试。Appveyor会自动检测命令的返回值——如果返回0就标记测试通过,返回1则标记失败,正好匹配你的程序逻辑。
在appveyor.yml中添加test_script部分:
# 运行单元测试 test_script: - C:\projects\sralloc\examples\Build\x64_Debug\unittest.exe
几个需要注意的小细节
- 路径准确性:Appveyor默认会把代码克隆到
C:\projects\<你的仓库名>,所以你给出的路径C:\projects\sralloc\...是完全正确的,只要你的测试项目确实输出到这个目录就没问题。 - 输出捕获:Appveyor会自动记录
unittest.exe的控制台输出,测试结果会在构建日志里清晰显示,不用额外配置。 - 依赖文件:如果你的测试需要依赖其他动态库或资源文件,要确保这些文件和
unittest.exe在同一目录,或者在运行前把它们复制到正确位置。
把这些内容整合到你的appveyor.yml里,提交到仓库后,Appveyor下次构建时就会自动运行单元测试啦!
内容的提问来源于stack exchange,提问作者Srekel
相关产品推荐
相关产品推荐

