无法解析powermockito,但可以解析powermockrunner

szqfcxe2  于 2021-06-30  发布在  Java
关注(0)|答案(3)|浏览(508)

我想用 PowerMockito ,但我遇到了一些困难。
这是我进口的 pom.xml :

<!-- https://mvnrepository.com/artifact/org.powermock/powermock-module-junit4 -->
<dependency>
    <groupId>org.powermock</groupId>
    <artifactId>powermock-module-junit4</artifactId>
    <version>2.0.9</version>
    <scope>test</scope>
</dependency>

这些注解添加在测试类定义的上方:

@RunWith(PowerMockRunner.class)
@PrepareForTest(TestedClass.class)

powermockrunner被成功识别,但是当我尝试使用 PowerMockito 为了使用 PowerMockito.withNew() , PowerMockito 无法识别。
有人知道这里有什么问题吗?

uurv41yg

uurv41yg1#

下面是maven的完整powermockito依赖项。

<dependency>
  <groupId>org.powermock</groupId>
  <artifactId>powermock-module-junit4</artifactId>
  <version>${your-powermock-version}</version>
  <scope>test</scope>
</dependency>
<dependency>
  <groupId>org.powermock</groupId>
  <artifactId>powermock-api-mockito</artifactId>
  <version>${your-powermock-version}</version>
  <scope>test</scope>
</dependency>

如果你打算使用 PowerMockRule ,然后与上述依赖项一起添加这些依赖项。

<dependency>
      <groupId>org.powermock</groupId>
      <artifactId>powermock-module-junit4-rule</artifactId>
      <version>${your-powermock-version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.powermock</groupId>
      <artifactId>powermock-classloading-objenesis</artifactId>
      <version>${your-powermock-version}</version>
      <scope>test</scope>
    </dependency>

快乐的力量嘲笑!!!

dsekswqp

dsekswqp2#

您只添加了与junit4的powermock集成
为了进入 PowerMockito 必须将其作为单独的依赖项添加:

<dependency>
        <groupId>org.powermock</groupId>
        <artifactId>powermock-api-easymock</artifactId>
        <version>${your-powermock-version}</version>
</dependency>
uplii1fm

uplii1fm3#

还应导入:

<dependency>
    <groupId>org.powermock</groupId>
    <artifactId>powermock-api-mockito</artifactId>
    <version>1.6.4</version>
    <scope>test</scope>
</dependency>

此库包含api。您导入的仅包含对junit4的支持。

相关问题