单元测试工具Gmock、XMLUnit、Google C++ Mocking Framework介绍

以下为你介绍的单元测试工具都可用在Linux系统上:Gmock(基于Groovy语言的mock框架)、XMLUnit(XML单元测试)、Google C++ Mocking Framework(简称Google Mock,帮你快速地做出一个接口的仿制品)。

1、Gmock(基于Groovy语言的mock框架)

Gmock是一个基于Groovy语言的mock框架。Gmock利用了Groovy语言的特性,提供了简洁可读的语法,并且用Gmock mock出来的对象可以在Java代码中使用,所以你可以使用Java编写代码而使用Groovy和Gmock编写测试。

2、XMLUnit(XML单元测试)

单元测试工具Gmock、XMLUnit、Google C++ Mocking Framework介绍

XMLUnit提供有关测试创建或使用XML的代码的帮助。

XMLUnit是一个支持多种方式测试XML输出的库。

XMLUNit 2.x可通过类似的API用于Java和.NET。具有分别用于Java和.NET的两个git存储库。XMLUnit 2.x是对XMLUnit的完全重写,实际上不与Java 1.x的XMLUnit共享任何代码。同时不再打算为.NET 0.x维护XMLUnit。

XMLUnit 2.x的一些目标:

创建在设计上兼容的.NET和Java版本,同时尝试使每个平台习惯使用。

删除所有静态配置(旧的XMLUnit类设置方法)。

专注于对测试有用的部分:XPath、(Schema) validation、comparisons。

独立于任何测试框架。

最新Release:

最新版本可以作为GitHub版本或通过Maven Central获得。

核心库是:

<dependency>

<groupId>org.xmlunit</groupId>

<artifactId>xmlunit-core</artifactId>

<version>x.y.z</version>

</dependency>

要求:

除需要Java7的AssertJ模块外,XMLUnit需要Java6。

核心库提供测试XML输出所需的所有功能,并且没有任何依赖关系。它使用JUnit 4.x进行自己的测试。

如果您使用的是Java 9或更高版本,则内核还取决于JAXB API。它曾经是标准类库的一部分,但已被Java 9拆分出来。

如果要使用Input.fromJaxb,也就是说,要将纯Java对象序列化为XML作为输入,那么您还需要添加对JAXB实现的依赖。

核心库由Hamcrest 1.x匹配器和AssertJ断言补充。在2.x核心库的顶部,还有一个遗留项目,该项目提供XMLUnit 1.x的API。

尽管Hamcrest匹配器是针对Hamcrest 1.x构建的,但它们也应该与Hamcrest 2.x一起使用。

检出Java的XMLUnit:

XMLUnit for Java使用git子模块来测试与XMLUnit.NET共享的测试资源。正常克隆后,您可以使用git clone --recursive克隆此存储库,也可以在新的工作副本中运行git submodule update --init。

如果您在添加子模块之前签出了工作副本,则需要运行git submodule update --init一次。

下载地址:https://github.com/xmlunit/xmlunit

3、Google C++ Mocking Framework(简称Google Mock,帮你快速地做出一个接口的仿制品)

Google C ++ Mocking Framework(简称Google Mock)是一个用于编写和使用C++模拟类的库。它受到jMock,EasyMock和Hamcrest的启发,并在设计时考虑了C++的具体细节。它使您可以使用简单的宏轻松地创建模拟类,支持丰富的匹配器和操作集,处理无序,部分有序,并且可以由用户扩展。

Google Mock的设计灵感来源于jMock和EasyMock,它的作用是帮你快速地做出一个接口的仿制品。如果你的设计依赖其它的类,而这些类还没有完成或非常昂贵(如数据库)。如果你要测试你的模块与其它模块是否能正确结合,并想了解其交互过程。那么Google Mock就能帮助你。

注明

以上就是单元测试工具Gmock、XMLUnit、Google C++ Mocking Framework的介绍内容,这些单元测试工具都能使用在Linux操作系统中。

栏目相关文章