java将生成的类包含到托管测试文件夹中是一种好的做法吗?
我有一个代码,它依赖于代码用户生成的thrift和protobuf类(这是一个库)
我想使用我自己生成的thrift和protobuf类来测试它(它们可能不会经常更改)。因此,为此,我可以包含build.gradle
的依赖项,以便能够生成它们。如果我想在CI中也这样做,就会出现问题,因为我必须在构建机器上安装thrift和protobuf编译器
例如,如果我使用我的pc生成所有用于测试的类,并将它们包含在测试源代码中,我就可以避免这种情况
主要的问题是:这是一个好的或可接受的实践,还是我更愿意每次重新生成这些类
# 1 楼答案
依我看,在源代码中只包含
.proto
文件,并在编译项目时重新生成这些类是一种很好的做法因为您可能会更改
.proto
文件,Protobuf编译器可能会升级,所以无论发生什么情况,都需要重新生成这些类。但是,如果将这些类提交到源代码中,可能会忘记提交这些类的新版本,而且很难对这些自动生成的代码的更改进行代码检查。相反,对.proto
文件的代码审查应该容易得多