4

我正在用 maven 构建我的包(运行没有问题),然后我尝试为一个类进行 Mockito 测试。

pom.xml中的依赖如下:

<dependencies>
  <dependency>
  <groupId>org.apache.maven</groupId>
  <artifactId>maven-project</artifactId>
  <version>2.0.6</version>
  <scope>test</scope>
</dependency>
    <dependency>
     <groupId>org.mockito</groupId>
    <artifactId>mockito-all</artifactId>
    <version>1.9.5</version>
    <scope>test</scope>
    </dependency>
  </dependencies>
</project>

模拟测试看起来像这样:

package Person;

import static org.mockito.Mockito.*;
import java.io.IOException;

public class AppTest {

public void test() throws IOException{
PersonManagement mockedPM = mock(PersonManagement.class); 
//automatically creates an instance variable of type person

mockedPM.updatePerson("test","test");
//updates this.person
verify(mockedPM).updatePerson("test","test");
}
}

启动 mvn package 后,测试结果显示,没有运行测试(包含测试的文件被找到并识别,因为当我把语法错误放在那里时,编译器会识别这些)

我会很感激任何帮助,谢谢

4

3 回答 3

8

Mockito 不是一个测试框架。这是一个模拟 API。使用 JUnit 或 TestNG。这些是测试框架。两者都只需要在测试方法上放置一些注释。

当然,您的 JUnit 或 TestNG 测试将在内部使用 Mockito API 来模拟依赖项。

于 2013-04-20T16:02:20.690 回答
2

Mockito 是一个用于模拟对象的框架,而 JUnit 是一个用于单元测试的框架。

看起来您正在尝试它的工作原理。我建议从阅读 JUnit 开始,当你觉得你可以控制它时,回到 mocking 的工作原理。

这是 JUnit 的依赖项:

<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.6</version>
</dependency>

添加并导入后,您可以使用 @Test 注释测试

于 2013-04-21T14:07:47.813 回答
1

@JB Nizet 告诉你正确答案。您需要使用 @org.junit.Test 注释该方法

于 2013-04-20T16:04:36.437 回答