在我们的一个工作项目中,我们已经开始使用Guava's VisibleForTesting来注释“助手”方法,这些方法只能用于测试(例如,Setter允许服务模拟被“注入”)。在生产中,应用程序应该使用Spring的Autowired来“获取”它的服务。
有没有办法检查用 VisibleForTesting 注释的代码是否只在测试代码中调用(静态分析,如果有人通过反射尝试有趣的东西,那么这不是吗?)
答案 0 :(得分:0)
对于任何遭受同样谬误的人(在这个特殊情况下只有Setters用于测试):
基本原理:您无法阻止项目构建环境中的其他人 使用此“仅测试”代码,因此任何有关静态代码分析的工作都会产生安全错觉(适合您)如果某人真的“误导”了那段代码,那就更令人惊讶了。