开源单元测试工具汇总

发表于:2019-3-12 10:35

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Brian2018    来源:CSDN

  本文主要介绍了单元测试的30款相关测试工具和框架的介绍和支持的语言等相关内容。
  作为开源软件的爱好者,了解了单元测试这概念后,自然忍不住去找找有什么开源单元测试工具。
  下面列出了30款1,不分先后顺序。
  1. NoSQL的单元测试工具 NoSQLUnit
  授权协议:Apache
  开发语言:Java
  操作系统:跨平台
  NoSQLUnit 详细介绍
  NoSQLUnit 是一个 JUnit 的扩展,用来为那些使用了 NoSQL 后端的应用提供单元测试和集成测试的工具。
  使用示例:
   @UsingDataSet(locations="my_data_set.json", loadStrategy=LoadStrategyEnum.REFRESH)
  @ShouldMatchDataSet(location=
  "my_expected_data_set.json")
  lordofthejars / nosql-unit
  2. JavaScript单元测试工具 JsTestDriver
  授权协议:Apache
  开发语言:JavaScript
  操作系统:跨平台
  sTestDriver 详细介绍
  JsTestDriver是一个JavaScript单元测试工具,易于与持续构建系统相集成并能够在多个浏览器上运行测试轻松实现TDD风格的开发。当在项目中配置好js-test-driver以后,如同junit测试java文件一般,js-test-driver可以直接通过直接运行js文件,来对js文件单元测试。
  3. C++单元测试工具 QTRunner
  授权协议:GPLv3
  开发语言:C/C++
  操作系统:跨平台
  QTRunner 详细介绍
  QTRunner 是一个用来运行多个单元测试并在一个GUI图形界面的应用程序中显示测试结果的软件。支持 QTestLib 和 GoogleTest 单元测试的执行,QTRunner 是基于 Qt 库开发的跨平台测试工具。
  4. JavaScript 单元测试工具 Venus
  授权协议:Apache 2.0
  开发语言:JavaScript
  操作系统:跨平台
  开发厂商:Linkedin
  Venus 详细介绍
  Venus 是一个 JavaScript (JS)的测试工具,可以简化运行单元测试。当你在 JS 开发一个基于浏览器的项目时,你想创建单元测试并频繁地运行它们。通常,你会用一些库比如 Mocha 或 Jasmine,写一个单元测试,这些库可以让你定义测试用例,并提供 API 来编写判断。
  我们通过创建一个工具,可以让你更轻松地与现有的库一起工作。一下是 Venus 的主要好处:
  在你的测试使用 Simple annotations, 来指定你要使用的测试库,你要测试的文件,其它文件依赖,以及测试工具模板
  通过使用 PhantomJS 运行命令行,直接快速运行你的基于浏览器的测试
  在多浏览器的命令行中同时运行你的测试(本地运行或远程)
  集成持续集成工具(Selenium Grid + Travis CI)
  linkedin / venus.js
  5.Flex 单元测试工具 Fluint
  授权协议:MIT
  开发语言:ActionScript
  操作系统:跨平台
  Fluint 详细介绍
  Fluint是一个 Flex 单元测试工具,对于Flex单元和集成测试,“Fluint”非常简洁。它是为编写Flex2或Flex3应用的开发者提供的测试框架,无论这些应用是通过Adobe Flash Player在浏览器中部署的,还是通过Adobe AIR在桌面上部署的。
  Fluint最初是作为Digital Primates的内部工具开发的,用以测试一些非常大的项目。随着Flex社区对其需求的不断增长,Digital Primates决定把其发布为一个开源项目。尽管针对Flex有其他的单元测试解决方案,按照Labriala的说法,Fluint仍填补了重要空白。
  6. JavaScript 单元测试工具 Buster.JS
  授权协议:BSD
  开发语言:JavaScript 查看源码
  操作系统:跨平台
  Buster.JS 详细介绍
  Buster.JS 是 JavaScript 的单元测试工具包,**
  **浏览器测试工具包;**Buster.js 可以自动的在浏览器上测试,像 JsTestDriver ;QUnit 风格 静态 HTML 页面测试 ; 在一些不知名的浏览器上测试,像 PhantomJS 和 jsdom ;
  Node.js 测试工具包;
  灵活; Buster.js 里面几乎含有所有的公共 API 。你可自己书写* 测试报告* 来自定义 buster 的输出(buster 里面已经有 xUnit XML, traditional dots, specification, tap, TeamCity ),也可以编写扩展其他测试框架(buster 里面已经有 buster-jstestdriver ),添加你自己的测试语法(xUnit 和 BDD);
  更多相关信息请看 the overview 。
  7. 存储过程单元测试工具 SQLUnit
  授权协议:未知
  开发语言:Java
  操作系统:跨平台
  SQLUnit 详细介绍
  SQLUnit是一个用于对存储过程进行单元测试的工具,其实也可以用于做针对数据库数据、性能的测试等,延续了xUnit家族的一贯特性和风格,只不过它的测试是以xml的方式来编写,但原则仍然和xUnit家族其他产品一样,强调的是输出和预期的比较,SQLUnit的文档比较的少,由于官方站上并没有提供类似其他开源工具的quick start guide,就写了这篇quick start guide以便大家快速的使用sqlunit,至于SQLUnit的高级用法还是得去多看看sqlunit.sf.net官方站上的文档。
  8.C++单元测试工具 ECUT
  授权协议:EPL
  开发语言:C/C++
  操作系统:跨平台
  ECUT 详细介绍
  ECUT (Eclipse C++ Unit Testing) 项目将 CppUnit 和 Eclipse CDT 开发工具集成起来,提供更好的无缝的单元测试支持,类似 JUnit 和 JDT 一样。该项目也允许跟其他的 C++单元测试框架进行集成。
  9.Qt单元测试工具 QTestlib
  授权协议:未知
  开发语言:C/C++
  操作系统:跨平台
  QTestlib 详细介绍
  Trolltech公司提供的QTestlib框架,是一种针对基于QT编写的程序或库的单元测试工具。QTestLib提供了单元测试框架的基本功能,并提供了针对GUI测试的扩展功能。设计QTestLib的目标是为了简化QT程序或库的单元测试工作。
  10.单元测试维护工具 Unitils
  授权协议:Apache
  开发语言:Java
  操作系统:跨平台
  Unitils 详细介绍
  Unitils这个Java开源类包的目的是让单元测试变得更加容易和可维护。Unitils构建在DBUnit与EasyMock项目之上并与 JUnit和TestNG相结合。支持数据库测试,支持利用mock对象进行测试并提供与Spring和Hibernate相集成。Unitils设计成 以一种高度可配置和松散偶合的方式来添加这些服务到单元测试中。
  在进行数据库测试时能够:
  自动维护和强制关闭单元测试数据库(支持Oracle,Hsqldb,MySql,DB2),
  简化单元测试数据库连接的设置,
  简化利用DBUnit测试数据的插入,
  简化Hibernate session管理,
  自动测试与数据库相映射的Hibernate映射对象。
  在利用Mock对象进行测试时能够:
  简化EasyMock mock对象创建,
  简化mock对象注入,利用反射等式匹配EasyMock参数。
  在与Spring集成时易于把spring管理的bean注入到单元测试中,支持在单元测试中使用一个用Spring配置的Hibernate SessionFactory。
  11. Java单元测试框架 JUnit
  授权协议:CPL
  开发语言:Java
  操作系统:跨平台
  JUnit 详细介绍
  JUnit是一个Java语言的单元测试框架。它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中为最成功的一个。 JUnit有它自己的JUnit扩展生态圈。
  多数Java的开发环境都已经集成了JUnit作为单元测试的工具。
  在线Javadoc:http://www.ostools.net/apidocs/apidoc?api=junit-4.10
  12.C单元测试工具 greatest
  授权协议:未知
  开发语言:C/C++
  操作系统:跨平台
  greatest 详细介绍
  greatest 是一个 C 语言的单元测试系统,只需要一个文件支持。示例代码:
   $ cat simple.c
  #include "greatest.h"
  TEST x_should_equal_1() {
  int x = 1;
  ASSERT_EQ(1, x); /* default message */
  ASSERT_EQm("yikes, x doesn't equal 1", 1, x); /* custom message */
  PASS();
  }
  SUITE(the_suite) {
  RUN_TEST(x_should_equal_1);
  }
  /* Add definitions that need to be in the test runner's main file. */
  GREATEST_MAIN_DEFS();
  int main(int argc, char **argv) {
  GREATEST_MAIN_BEGIN(); /* command-line arguments, initialization. */
  RUN_SUITE(the_suite);
  GREATEST_MAIN_END(); /* display results */
  }
  $ make simple && ./simple
  cc -g -Wall -Werror -pedantic simple.c -o simple
  * Suite the_suite:
  .
  1 tests - 1 pass, 0 fail, 0 skipped (5 ticks, 0.000 sec)
  Total: 1 tests (47 ticks, 0.000 sec)
  Pass: 1, fail: 0, skip: 0.
  silentbicycle / greatest
  13.单元测试检测工具 PIT
  单元测试工具
  授权协议:Apache
  开发语言:Java
  操作系统:跨平台
  PIT 详细介绍
  PIT 是一个快速的 Java 系统突变检测系统,可用来测试单元测试的有效性,测试单元测试的覆盖。
  14.数据库单元测试工具 DbUnit
  授权协议:未知
  开发语言:Java
  操作系统:跨平台
  DbUnit 详细介绍
  DbUnit 使您可以容易地执行 JDBC 查询并获取它们的值。使用 DbUnit JDBC 包装器而不是纯粹的 JDBC 有几个理由:
  可以用 SQL 查询创建一个 Dataset ,并使用 DbUnit 的 assertion(断言)方法(在后面描述)。
  可以用 SQL 查询创建一个 Dataset ,并将它保存为一个 FlatXmlDataSet 。可以在以后将它重新装载到数据库中。
  可以容易地从任何行中获取列的内容,无需进行迭代。
  15.Java GUI单元测试工具 Abbot
  授权协议:未知
  开发语言:Java
  操作系统:跨平台
  Abbot 详细介绍
  Abbot 是一个简单的用来对 Java 的图形界面应用程序进行功能和单元测试的框架。主要功能包括模拟用户行为、检查组件状态,测试过程会被记录下来并可以进行回放。

       上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号