2

powermock を使用してプライベート メソッドをモックしようとしていますが、PowerMock が で認識されませんMockitoBusinessOperation MockitoBusinessOperation = PowerMock.createPartialMock(MockitoBusinessOperation.class, "inTestMethod");。私はmavenを使用し、mockitoとpowermockの依存関係はpomファイルで定義されています

<dependency>   
    <groupId>org.mockito</groupId>
    <artifactId>mockito-core</artifactId>
    <version>1.8.5</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.powermock</groupId>
    <artifactId>powermock-mockito-release-full</artifactId>
    <version>1.4.9</version>
    <scope>test</scope>
</dependency>

エラーが TestNG の powermock に関連しているのか、それともコードに間違いがあるのか​​ わかりません。

@PrepareForTest(MockitoBusinessOperation.class)
@Test(enabled = true)
public void testReCalculatePrepaids() throws Exception {
    MockitoBusinessOperation MockitoBusinessOperation = PowerMock.createPartialMock(MockitoBusinessOperation.class, "inTestMethod");
    PowerMock.expectPrivate(MockitoBusinessOperation, "inTestMethod",   Id).andReturn("working fine");

    when(MockitoBusinessService.creditReport(this.Id)).thenReturn(new String("Decline by only Me")); 

    String report = MockitoBusinessService.creditReport(this.Id);
    String mainReport = MockitoBusinessOperation.creditAproved(this.Id);  
}

解決策につながるアイデアや手がかりを誰かが持っている

4

2 に答える 2

0

ドキュメントによると、maven ファイルには次の定義が必要です。

<properties>
    <powermock.version>1.5</powermock.version>
</properties>
<dependencies>
   <dependency>
      <groupId>org.powermock</groupId>
      <artifactId>powermock-module-testng</artifactId>
      <version>${powermock.version}</version>
      <scope>test</scope>
   </dependency>
   <dependency>
      <groupId>org.powermock</groupId>
      <artifactId>powermock-api-mockito</artifactId>
      <version>${powermock.version}</version>
      <scope>test</scope>
   </dependency>  
</dependencies>
于 2013-01-18T01:37:16.983 に答える