java - 对象不是 JUnit 中声明类的实例
问题描述
我想为此代码创建 JUnit 类:
@Component
public class ReportingProcessor {
@EventListener
private void collectEnvironmentData() {
}
}
我试过这个用再膨胀实现这个Junit测试:
public class ReportingTest {
@Test
public void reportingTest() throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {
Method m = ReportingProcessor.class.getDeclaredMethod("collectEnvironmentData", null);
m.setAccessible(true);
m.invoke(this);
}
}
但我得到错误:
java.lang.IllegalArgumentException: object is not an instance of declaring class
at org.datalis.rest.api.server.reporting.ReportingTest.reportingTest(ReportingTest.java:15)
你知道我该如何解决这个问题吗?
解决方案
这个答案可能会对您有所帮助,您正在测试一个 Spring Bean。为了获得更好的支持,您应该查看 Spring 测试指南:
推荐阅读
- javascript - 可调整大小的 Vue-good-table 或 Vue
- node.js - getSignedUrl 通过 aws-sdk 为 putObject 生成的签名不匹配?
- java - Java:为什么 java.LocalDate 格式在 2018-10-25 到 2019-10-25 之间给出 0 天?
- python - 如何直观地格式化 Pandas 数据框?
- android - Gradle 更新导致签名 apk 中的验证错误
- angular - 在 SSR 构建中设置 html lang 属性
- android - Unity - 将屏幕截图保存到android画廊文件夹
- angular - 错误类型错误:无法在角度为 6 的 ngx-bootstrap 中读取 null 的属性“createText”
- mysql - MySQL在列中选择具有相同ID且具有不同值的不同行,并在另一列中排除特定值
- python - 如何从管道中的 sklearn TFIDF Vectorizer 返回数据帧?