I am getting 3 errors below when trying to mock New Date, using PrepareForTest
. How can I fix this?
Reference: https://stackoverflow.com/a/30415404/15435022
java.lang.NoClassDefFoundError: org/powermock/tests/utils/ArrayMerger at org.powermock.api.mockito.PowerMockito.whenNew(PowerMockito.java:506)
Code below.
import static org.powermock.api.mockito.PowerMockito.whenNew;
import static org.mockito.BDDMockito.given;
@PrepareForTest({ Product.class })
public class ProductTest {
....
Calendar calendar = Calendar.getInstance();
calendar.set(2022, 5, 2, 1, 1, 1);
Date currentDate = calendar.getTime();
whenNew(Date.class).withNoArguments().thenReturn(currentDate);
POM:
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-junit4-rule</artifactId>
<version>1.4.11</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>*</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito</artifactId>
<version>1.4.11</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>*</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-support</artifactId>
<version>1.4.11</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>*</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>