使用testng时无法继承final类

时间:2016-03-04 05:08:09

标签: mockito testng powermock powermockito

在我的项目中,我需要在哪里模拟最终课程。

我正在使用Test-NG进行单元测试。

我尝试了不同的东西来模拟,但未能这样做。我还检查了不同的堆栈溢出帖子。

运行testng测试用例时,我遇到错误 -

<dependency>
  <groupId>org.testng</groupId>
  <artifactId>testng</artifactId>
  <version>6.8.8</version>
  <optional>true</optional>
  <scope>test</scope>
</dependency>
<dependency>
  <groupId>org.mockito</groupId>
  <artifactId>mockito-all</artifactId>
  <version>1.9.5</version>
  <scope>test</scope>
</dependency>
<dependency>
  <groupId>org.powermock</groupId>
  <artifactId>powermock-mockito-release-full</artifactId>
  <version>1.5.1</version>
  <classifier>full</classifier>
</dependency>

在pom.xml中使用以下依赖项 -

@RunWith(PowerMockRunner.class)
@PrepareForTest(AskStateParams.class)
public class TestProcessor17100AAskAmount extends AbstractPowerMockProcessorTest {
  @Test
  public void test() {
    AskStateRequestParams  askParams=PowerMockito.mock(AskStateRequestParams.class);

    PowerMockito.when(askParams.getCallerInput()).thenReturn("1000");
    PowerMockito.when(askParams.getResultCode()).thenReturn("Y");
    PowerMockito.when(askParams.getMiString()).thenReturn("P=B");

    Assert.assertEquals(baseProcessor.postProcess(requestContext), "amount");
  }
}

TestNG代码如下 -

bool isPrime = true;
if (isPrime == true);

1 个答案:

答案 0 :(得分:0)

首先,如果你使用TestNG,我想知道为什么你有@RunWith(PowerMockRunner.class)。它是jUnit模块的一部分,并与jUnit集成,而不是与TestNG集成。请查看PowerMock wiki上的TestNG usage

第二个错误,我在代码mockStatic(AskStateParams.class)中没有看到。再次,请检查documentation