gpt4 book ai didi

java - 如何使用反射访问 JUnit 中的私有(private) map ?

转载 作者:行者123 更新时间:2023-11-28 21:03:08 24 4
gpt4 key购买 nike

我有一个应该进行 junit 测试的连接器类 (SVNConnector)。有一个名为private Map<String, SVNRepository> connectionMap的私有(private) map 应该在 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);

关于java - 如何使用反射访问 JUnit 中的私有(private) map ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8133644/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com