如何解决“无法解析导入的org.mockito”?

时间:2019-09-26 07:31:37

标签: java mockito

我有一个Maven项目,其中有一个名为-BookingServiceTest.java的类,我尝试在其中导入 org.mockito.InjectMocks org.mockito.Mock org_mockito_Mockito和 org_mockito_MockitoAnnotations。但是我得到了错误-“导入org_mockito无法解决”

谁能建议我们如何解决这个问题?

使用的jar:mockito-all-1.9.5.jar已添加到我的本地Maven存储库中。

2 个答案:

答案 0 :(得分:5)

在项目中,转到: 构建路径-> 配置路径

Java构建路径中,转到: 来源

在两个目录 src / test / java src / test / resource 中,设置:

输出文件夹:到与默认目标折页不同的单独目标折页, 例如:target / test-classes

包含测试资源:是

答案 1 :(得分:0)

您正在尝试导入错误的软件包

这应该是您pom.xmldependencies文件中的内容

<dependency>
   <groupId>org.mockito</groupId>
   <artifactId>mockito-all</artifactId>
   <version>1.9.5</version>
  <scope>test</scope>
</dependency>

简单的测试应如下所示

import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.junit.MockitoJUnitRunner;

@RunWith(MockitoJUnitRunner.class)
public class InjectMocksTest {

@Mock
private ClassB classB;
@InjectMocks
private ClassA classA;

@Test
public void test() {
    Mockito.doReturn("Hi").when(classB).message();

    Assert.assertEquals("Hi David!", classA.greeting("David"));

}

private static class ClassA {

    private final ClassB classB;

    private ClassA(ClassB classB) {
        this.classB = classB;
    }

    public String greeting(String name) {
        return classB.message() + " " + name + "!";
    }
}

private static class ClassB {
    public String message() {
        return "Hello";
    }
}

}