我有一个连接器类(SVNConnector),应该对其进行单元测试。有一个名为private Map<String, SVNRepository> connectionMap
的私有映射,应该在JUnit中进行访问,但是该映射没有getter方法。所以我必须使用反射来做到这一点。我的问题是:如何运作?我尝试了以下方法:
@BeforeClass
public static void setUpBeforeClass() throws Exception {
svnConnector = new SVNConnector(user, pwd);
Field connectionMapField = SVNConnector.class.getDeclaredField("connectionMap");
connectionMapField.setAccessible(true);
//AND NOW?
}
没有任何特定于Collection的getter或setter来检查collectionMap或类似对象的大小。那么我该如何访问呢?
谢谢。
最佳答案
您是说要获取该字段的价值吗?
Map<String, SVNRepository> connectionMap =
(Map<String, SVNRepository>) connectionMapField.get(svnConnector);