我有一个连接器类(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);

07-24 09:24