更多课程 选择中心

软件测试培训
达内IT学院

400-996-5531

单元测试常用的30款测试工具及框架(下)

  • 发布:webmaster
  • 来源:51testing
  • 时间:2019-03-15 17:30

软件测试日常的工作中为了方便自己,提高工作效率,我们经常去寻找相关的工具和框架, 自己造轮子耗时费力,不如看看开源的测试工作,我们今天为大家介绍的是单元测试常用的30款测试工具及框架(下)。

16.C++单元测试工具 GoogleTest

授权协议:BSD

开发语言:C/C++

操作系统:跨平台

GoogleTest 详细介绍

Google的开源C++单元测试框架Google Test,简称gtest 是一个非常的不错单元测试框架。支持跨平台以及包括 Windows CE 和 Symbian 在内的一些手机操作系统。

17.C++单元测试框架 CppTest

授权协议:LGPL

开发语言:C/C++

操作系统:跨平台

CppTest 详细介绍

CppTest 是 C++ 的单元测试框架。CppUnit 简单得多,但是效果也不错。下面简要地对比这两个强大的工具:

创建单元测试和测试套件的简便性。CppUnit 和 CppTest 都创建类方法形式的单元测试,类本身都派生自工具提供的 Test类。但是,CppTest 的语法略微简单些,测试的注册在类构造器内进行。对于 CppUnit,需要额外的宏 CPPUNIT_TEST_SUITE 和CPPUNIT_TEST_SUITE_ENDS。

运行测试。CppTest 直接调用测试套件上的 run 方法,而 CppUnit 使用单独的 TestRunner 类,通过调用这个类的 run 方法运行测试。

扩展测试层次结构。对于 CppTest,随时可以从以前的测试套件派生新类,从而扩展测试套件。新的类定义一些新函数,这些函数成为新的单元测试。只需在新类类型的对象上调用 run 方法。与之相反,CppUnit 需要使用 CPPUNIT_TEST_SUB_SUITE宏和类继承来实现相同的效果。

生成格式化的输出。CppTest 和 CppUnit 都允许定制输出。但是,CppTest 有预定义的 HTML 输出格式化器,而 CppUnit 没有。但是,只有 CppUnit 支持 XML 格式化。它们都支持文本和编译器式格式。

创建测试装备。要想使用测试装备,CppUnit 要求测试类派生自 CppUnit::TestFixture。您必须提供设置和退出例程的定义。对于 CppTest,只需提供设置和退出例程的定义。这个解决方案显然更好,因为这让客户机代码更简单。

预定义的宏支持。CppTest 和 CppUnit 都提供一组用于断言、处理浮点等的宏。

头文件。 CppTest 只要求包含一个头文件,而 CppUnit 客户机代码必须根据使用的特性包含多个头文件,比如 HelperMacros.h 和 TextTestRunner.h。

18. JavaScript/TypeScript 测试框架 MoqJS

授权协议:未知

开发语言:JavaScript

操作系统:跨平台

MoqJS 详细介绍

MoqJS 是基于 .NET Moq 框架的 JavaScript/TypeScript 测试框架。

主要特性:

强类型:TypeScript

完美的 VS 集成

使用 setup/setupPrivate/verify/verifyPrivate 来修改和检测 moles behavior

非常低的学习曲线

示例代码:

// Create some object instance

var dog = new Dog();

// Create a mole for the object

var mole = new Mole(dog);

// Setup behavior

mole.setup(_dog => _dog.eat('meat')).returns('Yum yum yum');

// Invoke

var result = dog.eath('meat');

// Verify the given method was indeed called with the expected value exactly once

var isVerified = mole.verify(_dog => _dog.eat('meat'), Times.exact(1));

slavik57 / moqjs

19. Android 自动化测试 Robolectirc

授权协议:MIT

开发语言:Java 查看源码

操作系统:Android

Robolectirc 详细介绍

Robolectirc 是一款 Android 程序自动化测试工具。

测试代码:

@RunWith(RobolectricTestRunner.class)

public class MyActivityTest {

@Test

public void clickingButton_shouldChangeResultsViewText() throws Exception {

Activity activity = Robolectric.buildActivity(MyActivity.class)

.create().get();

Button pressMeButton = (Button) activity.findViewById(R.id.press_me_button);

TextView results = (TextView) activity.findViewById(R.id.results_text_view);

pressMeButton.performClick();

String resultsText = results.getText().toString();

assertThat(resultsText, equalTo("Testing

Android Rocks!"));

}

}

robolectric / robolectric

20.Python 模拟测试框架 CaptureMock

授权协议:LGPL

开发语言:Python

操作系统:跨平台

CaptureMock 详细介绍

CaptureMock 提供 Python 模拟的捕获-重放功能,建立在命令行和客户机-服务器通信的基础上。CaptureMock 所谓的方法就是 捕获-重放 方法。它在用户‘记录’模拟子系统的时候观察代码和模拟出来的子系统的交互,并且用它自己的格式记录在文本文件中。

当用户在 ‘重放模式’运行测试时,CaptureMock 会扮演还在酝酿中的子系统,用户甚至可以不用安装真正的子系统。用户每次运行测试的时候都可以选择是在真实子系统的下还是校验或者重建捕获到的模拟子系统,亦或者是之前运行捕获的模拟子系统。如果在‘重放模式’下,CaptureMock 不能接收到之前相同的调用,那么测试将会失败,提示用户是否想在记录模式下重建模拟子系统。

21.C语言单元测试框架 CUnit

授权协议:LGPL

开发语言:C/C++

操作系统:Windows

CUnit 详细介绍

继Junit CppUnit的成功后, c语言环境下也出现了开发源码的白盒测试用例CUnit。CUnit以静态库的形式提供给用户使用,用户编写程序的时候直接链接此静态库就可以了。它提供了一个简单的单元测试框架,并且为常用的数据类型提供了丰富的断言语句支持。

22. Python单元测试框架 PyUnit

授权协议:Python

开发语言:Python

操作系统:跨平台

PyUnit 详细介绍

Python单元测试框架(The Python unit testing framework),简称为PyUnit, 是Kent Beck和Erich Gamma这两位聪明的家伙所设计的 JUnit 的Python版本。 而JUnit又是Kent设计的Smalltalk测试框架的Java版本。它们都是各自语言的标准测试框架。

23.C/C++单元测试框架 CppUTest

授权协议:BSD

开发语言:C/C++

操作系统:跨平台

CppUTest 详细介绍

CppUTest 是一个功能全面的测试框架。

CppUTest是为了支持在多种操作系统上开发嵌入式软件而特别设计的。CppUTest的宏被设计成不需要了解C++也可以写测试用例。这使得C程序员更容易用这个测试框架。

CppUTest只使用C++语言中主要的那部分子集,这种选择很好地适应了那些编译器不能完全支持全部C++语言特性的嵌入式开发。你会看到用Unity和CppUTest写出的单元测试几乎一模一样。你当然可以选择任意一个测试框架来进行你的产品开发。

24.C++单元测试框架 CppUnit

授权协议:未知

开发语言:C/C++

操作系统:跨平台

CppUnit 详细介绍

CppUnit 是个基于 LGPL 的开源项目,最初版本移植自 JUnit,是一个非常优秀的开源测试框架。CppUnit 和 JUnit 一样主要思想来源于极限编程(XProgramming)。主要功能就是对单元测试进行管理,并可进行自动化测试。

测试驱动开发(TDD)是以测试作为开发过程的中心,它坚持,在编写实际代码之前,先写好基于产品代码的测试代码。开发过程的目标就是首先使测试能够通 过,然后再优化设计结构。测试驱动开发式是极限编程的重要组成部分。XUnit,一个基于测试驱动开发的测试框架,它为我们在开发过程中使用测试驱动开发 提供了一个方便的工具,使我们得以快速的进行单元测试。XUnit的成员有很多,如JUnit,PythonUnit等。CppUnit 即是XUnit家族中的一员,它是一个专门面向C++的测试框架。

25.Ada语言的单元测试 AUnit

授权协议:未知

操作系统:跨平台

AUnit 详细介绍

AUnit 是 Ada 编程语言的单元测试工具,类似于 JUnit。

26.C单元测试框架 zCUT

单元测试工具

授权协议:GPL

开发语言:C/C++

操作系统:跨平台

软件作者:zbaitu

zCUT 详细介绍

C单元测试框架。

特点:

C语言实现。clang编译。std=gnu89。

使用宏简单地注册case, suite,丰富的断言,风格类似google test。

良好的结果输出。

zBaitu / zCUT

27. EJB测试工具 Ejb3Unit

授权协议:未知

开发语言:Java

操作系统:跨平台

Ejb3Unit 详细介绍

Ejb3Unit 是一个无需EJB 容器的 EJB 3.0 的单元测试框架,扩展于 JUnit ,为所有的 EJB 项目提供自动化测试的工具

28. PerlUnit

授权协议:未知

开发语言:Perl

操作系统:未知

PerlUnit 详细介绍

JUnit的Perl版

29.PythonUnit

授权协议:未知

开发语言:Python

操作系统:未知

PythonUnit 详细介绍

JUnit的Python版

30.C++ 单元测试框架 cipra

授权协议:BSD

开发语言:C/C++

操作系统:跨平台

cipra 详细介绍

cipra 是一个简单的、兼容 TAP (Test Anything Protocol) 的 C++ 单元测试框架。100% 使用标准的 C++11 编写,只提供一组头文件,可很方便的在你的 C++11 项目中使用。

感谢您的阅读,以上就是为大家分享的软件测试单元测试中常用的30种开源测试工具及框架下,还有更多请点击查看单元测试中常用的30种开源测试工具及框架上

免责声明:内容和图片源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

预约申请免费试听课

填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:单元测试常用的30款测试工具及框架(上)
下一篇:连监控机制都不会建立,还想做测试主管?

你知道吗?做软件测试不一定需要精通代码!

软件测试人员不需要懂代码,这是一个伪命题!

如何设计登录测试的设计用例?

软件测试必备的数据库知识有哪些?(终)

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

陕西省

湖南省

贵州省

云南省

广西省

海南省