gpt4 book ai didi

java - powermock+easymock+testng 用于测试 final类

转载 作者:行者123 更新时间:2023-12-01 12:45:59 25 4
gpt4 key购买 nike

在我的 pom.xml 中使用这些依赖项

<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-easymock</artifactId>
<version>1.5.5</version>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-test-easymock-testng</artifactId>
<version>1.5.5</version>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-core</artifactId>
<version>1.5.5</version>
</dependency>

这是我的代码,其中 Dispute 是 Final 类型的类。

 @PrepareForTest(Dispute.class)
public void testProcessChargebackUpdates() {
final List<BraintreeGateway> credentials = new LinkedList<BraintreeGateway>();
credentials.add(credential);

// Dispute dispute = control.createMock(Dispute.class);
Dispute dispute = PowerMock.createMock(Dispute.class);
}

Gives 无法实例化最终类。

最佳答案

首先你需要这些依赖项:

<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-test-easymock-testng</artifactId>
<version>1.5.5</version>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-testng</artifactId>
<version>1.4.9</version>
</dependency><dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-core</artifactId>
<version>1.5.5</version>
</dependency>

然后你需要在你的类中使用 @Prepare 注释和要模拟的最终类,如下以及要在类中定义的 getObjectFactory 方法。

@PrepareForTest(Dispute.class)
public void testProcessChargebackUpdates() {
@ObjectFactory
public IObjectFactory getObjectFactory() {
return new PowerMockObjectFactory();
}
}

关于java - powermock+easymock+testng 用于测试 final类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24703929/

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