java - TestNG、Junit、Mockito?

标签 java maven junit mockito testng

我很难理解这三个之间的区别。这些不是所有的测试框架,而不是库吗?如果是这样,我们如何能够组合使用它们?难道我们不应该只能使用一种测试框架吗?因为该框架规定了代码的控制流程,这与我们从代码中调用库代码的库的情况不同。两个独立的框架如何在同一段代码上协同工作?我观察到 Mockito 经常与 TestNG 结合使用。 TestNG 不足以满足大多数测试场景吗?

最佳答案

Testng 和 Junit 都是用于单元测试的测试框架。 TestNG 与 JUnit 类似。添加的一些功能使 TestNG 比 JUnit 更强大。

注释 JUnit 和 TestNG 都使用注释,并且几乎所有注释看起来都很相似。

TestNG 使用 @BeforeMethod 、@AfterMethod 类似于 JUnit4 中的 @Before 、@After 。

........................

Mockito是一个基于java的模拟框架,与其他测试框架(例如JUnit和TestNG)结合使用。

它内部使用 Java Reflection API 并允许创建服务对象。 模拟对象返回虚拟数据并避免外部依赖。它通过模拟外部依赖项并将模拟应用到被测代码中来简化测试的开发。

摘要

顾名思义,Mockito 用于模拟数据或假数据,作为测试的真实对象,它的作用就像一个 stub 或驱动程序,而我们仍然需要 junit 或 testng 来使用它。而Junit和TestNG是java的单元测试框架

说明教程

https://www.youtube.com/watch?v=eILy4p99ac8

关于 Mockito 的文章

https://www.journaldev.com/21816/mockito-tutorial

关于java - TestNG、Junit、Mockito?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58468431/

相关文章:

Eclipse:为所有单元测试绑定(bind)一些键

java - 在 SimpleXML 中序列化/反序列化 Java HashMap

java - 使用线程增加静态变量

java - mvn -version 正在显示 -bash :/usr/local/bin/mvn: No such file or directory. 知道我该如何解决这个问题吗?

java - 使用适用于 OpenShift 的 Jboss Tools 插件进行部署会生成错误 invalid target release : 1. 8

java - JUnit测试用@SpringApplicationConfiguration自动启动Job

java - 在 Java 桌面应用程序中播放视频

java - 两个实体之间的多种不同类型关联 - SpringBoot、PostgreSQL

maven - 如何合并maven设置文件

java - JUnit 参数化测试显示换行符