java - 在 JUnit 中引用私有(private)类

标签 java reflection junit private-class

我有一个场景,我想引用一个私有(private) - 不测试该类。

我使用 Spring JDBCTemplate 来查询 db 并使用行映射器(它是 dao 的 private 类)来映射 >结果集到我的对象

测试用例是 mock 的 when(dao.method(query, rowmapper, param)).thenReturn(something)

可能的解决方案:将 rowmapper 设置为默认访问权限并将测试用例保留在同一个包中。

但是我的信念是,为什么要为了测试用例而更改代码?

我想知道Java反射在这方面是否有任何用处? 我找不到任何相关内容,因此如果有人已经经历过此类事情,请分享。

最佳答案

您可以在初始方法中使用Java反射来获取对私有(private)类的引用。

关于java - 在 JUnit 中引用私有(private)类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36416286/

相关文章:

java - 如何在 JPA 中删除具有多对多关系的实体(以及相应的连接表行)?

c# - 使用同一个程序集多次调用 Assembly.Load(AssemblyName) 有什么缺点?

java - dbunit 性能最佳实践

java - 对单元测试 DAO 的疑问

Java ResultSet close 与 ResultSet set null

java - 如何区分 Java 中的 Varargs 和 Array 类型

java - 如何为 JUNIT 任务添加本地库路径?

java - 如何测试jdbi BinderFactory

java - 当 JButton 禁用时,文本显示为灰色

reflection - 在运行时导入脚本