我正在用golang构建一个设计模式库。要运行所有测试,我使用这个bash脚本。它起作用了。
#!/bin/bash
go test creational/abstract_factory/*.go
go test creational/builder/*.go
go test creational/factory/*.go
go test creational/pool/*.go
go test creational/prototype/*.go
go test creational/singleton/*.go它运作良好:
prompt> ./runtests.sh
ok command-line-arguments 0.006s
ok command-line-arguments 0.006s
ok command-line-arguments 0.006s
ok command-line-arguments 0.006s
ok command-line-arguments 0.005s
ok command-line-arguments 0.006s但是..。如果我试图向go test发送更多的目录,就会收到以下消息:“命名的文件必须都位于一个目录中;具有creational/pool/和creational/factory/”。这就是我创建bash脚本的原因。
是否有可能在一个命令中测试所有文件夹?
发布于 2017-09-17 13:23:23
使用...有什么问题?将目录更改为creational,然后
go test ./...这将递归到所有子文件夹,并对找到的所有包执行测试。有关详细信息,请参阅用包调用go测试时输出的差异;和当测试文件在模块中时?
注意:从1.9开始,如果使用vendor,则不匹配./...子文件夹中的包。资料来源:Go 1.9发行说明-供应商与./.匹配.在进行1.9之前,go test ./...还进入了vendor子文件夹并运行了对销售包的测试。
https://stackoverflow.com/questions/46263599
复制相似问题