为了账号安全,请及时绑定邮箱和手机立即绑定

特定操作系统或架构的测试文件

特定操作系统或架构的测试文件

Go
慕码人8056858 2021-09-13 15:58:06
在 Go 中,文件名具有语义含义。例如:*_windows.go // Only include in compilations for Windows*_unix.go    // Only include in compilations for Unix*_386.go     // Only include in compilations for 386 systems*_test.go    // Only include when run with `go test`但是,我似乎无法使以下内容起作用:*_windows_test.go // Only include when running `go test` on windows*_test_windows.go // Another attempt这甚至可以用 Go 实现吗?如果是这样,如何?
查看完整描述

2 回答

?
守着一只汪

TA贡献1872条经验 获得超3个赞

只需对测试文件使用构建约束

// +build windows

构建约束被评估为空格分隔选项的 OR;每个选项都计算为其逗号分隔项的 AND;并且每个术语都是一个字母数字单词,或者在前面加上 !,它的否定。也就是说,构建约束:


查看完整回答
反对 回复 2021-09-13
?
aluckdog

TA贡献1847条经验 获得超7个赞

原来我错了。它确实有效。问题是我还有一个名为 的文件foo_unix_test.go,显然 Go 不支持这种*_unix.go特殊情况的语法。


查看完整回答
反对 回复 2021-09-13
  • 2 回答
  • 0 关注
  • 163 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信