java - Java - 查找仅在测试中使用的方法(未在源代码中使用)
问题描述
未使用的方法对未使用的方法有警告,可以删除,例如在 Eclipse 中
MyClass 类型的方法 myMethod() 从未在本地使用
但有时你用它的单元测试编写代码,然后代码在生产中没有使用(或删除),但方法仍然(仅)用于单元测试
我们如何才能找到实际代码中没有使用的这些未使用的方法(仅测试代码)
- 我的测试在 tests 文件夹下,代码在 src 文件夹下
例如 DAO 方法:
public interface TransactionDao {
public boolean updateTrasaction(int id);
}
@Repository
public class TransactionDaoImpl implements TransactionDao {
@Autowired
private JdbcTemplate jdbcTemplate;
@Override
public boolean updateTrasaction(int id) {
return (jdbcTemplate.update(... )>0);
}
}
仅用于测试:
@Test
public void testUpdateTrasaction() {
Assert.assertEquals(transactionDao.updateTrasaction(1234), true);
}
我知道静态分析工具和 Halting Problem,但是,是否有针对此特定要求的解决方案?
解决方案
在我看来,最简单的解决方案是首先从您的项目中删除或排除测试包,然后使用一些工具来查找所有未使用的方法,或者更新未使用/不必要代码的 Java 编译器错误/警告设置以获取一些错误/构建后会为您发出警告。
我找不到任何未使用的方法查找工具,您可以在其中从某些包中排除某些用法。如果有的话,我仍然建议使用编译器执行上述步骤,因为我宁愿在我的 IDE 上依赖更少的工具,如果工具对生产力的影响很小。
推荐阅读
- java - 为什么我的 sql 中出现运行时错误,提示语法错误?
- scala - 如何将数据帧的单行转换为 Scala 中的字符串?
- php - 我的 symfony 网站不工作 - 文件“config.yml”不存在
- javascript - 带有 highcharts 的全屏引导卡(100% 高度)
- python - Panda 的重采样 - Get Mean for a freq。一段的时间
- ios - ipatool 因异常而失败:#
当我使用内部版本号 24 转到我的项目的存档版本 2.1.4 时,该项目已成功存档,但是当我尝试导出它时
AdHoc !
出现以下错误:c# - 收到错误:“无法将类型'string'隐式转换为'int'”
- amp-html - 扩展“amp-mustache”在版本“0.1”中引用,这是一个已弃用的版本使用此扩展的更新版本
- javascript - 使用 dangerouslySetInnerHtml 渲染内容时如何使用 React 链接?
- javascript - Oracle JET - 我的 oj-list-view 不起作用