powermock相关内容
我有一个基于 Gradle 的 Java 项目,现在我想使用 PowerMock 模拟私有方法.问题是我无法使用 PowerMockRunner,因为在添加 @RunWith(org.powermock.modules.junit4.PowerMockRunner.class) 注释时总是出现以下异常. 错误: org.powermock.reflect.exceptions.FieldN
..
我正在设置模拟类的静态方法.我必须在带有 @Before 注释的 JUnit 设置方法中执行此操作. 我的目标是设置类来调用真正的方法,除了那些我明确模拟的方法. 基本上: @Before公共无效 setupStaticUtil() {PowerMockito.mockStatic(StaticUtilClass.class);//模拟某些方法...when(StaticUtilCl
..
我想模拟以下 Logger,但为了验证是否调用了日志条目,而不是为了内容. 私有静态Logger logger =LoggerFactory.getLogger(GoodbyeController.class); 我想模拟用于 LoggerFactory.getLogger() 的任何类,但我不知道如何做到这一点.这就是我到目前为止的结果: @Before公共无效 performBefore
..
我正在使用 PowerMockito 来模拟私有方法调用 (privateApi),但它仍然进行 privateApi 调用,而后者又进行了另一个thirdPartCall.当 thirdPartyCall 抛出异常时,我遇到了问题.据我所知,如果我在嘲笑 privateApi,它不应该进入方法实现细节并返回模拟响应. public class MyClient {公共无效publicApi()
..
我有一个类似于下面的代码: A类{公共布尔 myMethod(someargs) {MyQueryClass 查询 = new MyQueryClass();Long id = query.getNextId();//还有一些代码}}类 MyQueryClass {....公共长 getNextId() {//大量的数据库代码,执行一些数据库查询返回标识;}} 现在我正在为 A.myMetho
..
我有一个类如下: 公共类 A {公共 A(字符串测试){布拉布拉布拉}公共字符串检查(){布拉布拉布拉}} 构造函数中的逻辑 A(String test) 和 check() 是我试图模拟的东西.我想要任何类似的调用: new A($$$any string$$$).check() 返回一个虚拟字符串 "test". 我试过了: A a = mock(A.class);when(a.
..
我有一个包含一些静态方法的类.我需要模拟这些静态方法.我知道 PowerMock 会这样做,但是我找不到任何可以阐明“Spock+PowerMock"集成的教程/材料.与 Junit 相比,我更喜欢 Spock,因此这是个难题.有没有办法让这两个框架发挥作用?非常感谢任何帮助.示例代码,更是如此. 更新:该方法的现状 Spock 行为古怪 解决方案 我也被困在这里一段时间了.搜
..
第一次来这里,如有遗漏,请见谅.我希望使用 Spock 绕过对静态方法的调用.反馈会很棒 使用 groovy 模拟,我以为我可以通过静态调用,但还没有找到.作为背景,我正在对遗留 Java 中的测试进行改造.禁止重构.我正在使用 spock-0.7 和 groovy-1.8. 对静态方法的调用以这种形式与实例调用链接: 公共类 ClassUnderTest{公共无效methodUnd
..
给定一个 Kotlin 单例对象和一个调用它的方法的乐趣 object SomeObject {有趣的 someFun() {}}有趣的 callerFun() {SomeObject.someFun()} 有没有办法模拟对 SomeObject.someFun() 的调用? 解决方案 只要让你的对象实现一个接口,你就可以用任何模拟库来模拟你的对象.这里是 Junit + Mockit
..
我想模拟一个静态最终变量以及使用 JUnit、EasyMock 或 PowerMock 模拟一个 i18n 类.我该怎么做? 解决方案 有没有类似 mocking 变量的东西?我会称之为重新分配.我不认为 EasyMock 或 PowerMock 会给你一个简单的方法来重新分配一个 static final 字段(这听起来像是一个奇怪的用例). 如果你想这样做,你的设计可能有问题:避
..
我想在 junit5 中模拟一个静态方法.但不幸的是,Junit5 不支持 Powermockito.除了恢复到 Junit4 之外,还有其他方法可以实现吗 解决方案 简短的回答不是,因为 PowerMockito 团队已经完成了他们的 工作,等待 JUnit 团队扩展并在这里讨论了很多. 通过一些开销,您可以:由于 JUnit5 支持运行旧版 JUnit4,因此您可以使用 Powe
..
假设我有一个非 final 的具体类,它有一个像下面这样的 final 方法. 公共类ABC {公共最终字符串 myMethod(){返回“测试测试";}} 在 junit 中使用 Powermockito 调用时,是否可以模拟 myMethod() 以返回其他内容?谢谢 解决方案 这有效: @RunWith(PowerMockRunner.class)@PrepareForTest
..
我有一个类,我想用一个调用私有方法的公共方法来测试它.我想假设私有方法正常工作.例如,我想要类似 doReturn....when... 的东西.我发现有使用 PowerMock 的可能解决方案,但该解决方案对我不起作用.如何做到?有人遇到过这个问题吗? 解决方案 我看不出这里有什么问题.通过使用 Mockito API 的以下代码,我设法做到了: 公共类 CodeWithPrivate
..
我想从一个包含 2 个静态方法 m1 和 m2 的类中模拟一个静态方法 m1.我希望方法 m1 返回一个对象. 我尝试了以下 1) PowerMockito.mockStatic(Static.class, new Answer() {@覆盖public Long answer(InvocationOnMock invocation) 抛出 Throwable {返回 1000 升;
..
我正在为 kafka 消费者组件编写测试用例并模拟 kafkaConsumer.poll(),它返回 ConsumerRecords 的实例.我想初始化 ConsumerRecords 并在模拟中使用它,但是 ConsumerRecords 的构造函数期望我在测试中没有的实际 kafka 主题.我认为的一种方法是保留对象的序列化副本并反序列化以初始化 ConsumerRecords.有没有其他方法
..
我正在尝试测试此方法. @Override公共 JSON connectResource() 抛出 IOException {//获取证书的位置和凭据System.setProperty("javax.net.ssl.trustStore", "C:/Program Files/Java/jdk1.7.0_40/jre/lib/security/cacerts");System.setPrope
..
我正在尝试让 RunWith(PowerMockRunner.class) 使用我现有的包注释. 版本: powermock 1.4.12 模拟 1.9.0 junit 4.8.2 package-info.java//这是包注解 @TestAnnotation(version="1.0")包 com.smin.dummy; TestAnnotation.java//这是包“
..
我尝试按照这个非常相似的问题的答案中提供的示例进行操作,但它对我不起作用.我收到以下错误消息: java.lang.IllegalArgumentException:不能子类化最终类 com.myproject.test.support.ExampleEnumerable在 org.mockito.cglib.proxy.Enhancer.generateClass(Enhancer.java:
..
所以我有这个 Mockito 单元测试: @Test公共无效createCard(){当(jwtServiceMock.getId(anyString())).thenReturn(validUserToken);当(profileServiceMock.getProfile(validUserToken)).thenReturn(mock(Profile.class));当(cardServi
..
我们在一些历史项目中使用了 PowerMock.不幸的是,PowerMock 已经死了,并且与 Java 11 不兼容. 我们使用的是 mockStatic().是的,我们知道它被认为是有害的——它存在于遗留代码中,我们现在不想重写这些类...... 是否有任何选项可以调整 PowerMock 以支持 Java 11?或者是否可以用其他一些 Java 11 兼容框架轻松替换它?(Moc
..