单元测试工具MoqJS、Peridot、CHEAT、mettle介绍

以下为你介绍的单元测试工具都可用在Linux系统上:MoqJS(JavaScript/TypeScript 测试框架)、Peridot(PHP 测试框架)、CHEAT(C 语言单元测试框架)、mettle(C++14 单元测试)。

1、MoqJS(JavaScript/TypeScript 测试框架)

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

功能一览:

MoqJS提供以下功能:

强类型:是用TypeScript开发的。

无与伦比的VS intellisense集成:从设置期望到指定方法调用参数,返回值等,所有功能都支持完整的VS intellisense。

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

学习曲线非常低。

使用简单的callBase/isStrict属性控制模拟行为。

通过被摩尔物体的实例找到摩尔。

安装命令:

npm install moqjs --save-dev

示例代码:

// 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));

下载地址:https://github.com/slavik57/moqjs

2、Peridot(PHP 测试框架)

单元测试工具MoqJS、Peridot、CHEAT、mettle介绍

Peridot 是一个支持 PHP 5.4+ 的高可扩展、用起来很方便的 PHP 测试框架。Peridot 让测试更加有趣。开发者可以创建插件,自定义测试报告等。

特性:

灵活的测试接口。

事件驱动的插件架构。

可轻松添加用户定义的命令行参数。

轻松创建自定义测试报告。

基于异常的 Pass/fail。

通过子范围实现功能混入。

可创建你自己的测试 DSL。

生成Peridot的文档:

Peridot API文档是使用apigen生成的。安装apigen后,请从项目目录运行以下命令:

apigen generate

这会将文档输出到docs/目录。

下载地址:https://github.com/peridot-php/peridot

3、CHEAT(C 语言单元测试框架)

CHEAT 是一个微型的 C 语言单元测试框架。没有任何依赖和安装配置,使用简单只需一个头文件和一个测试用例即可,示例代码:

#include <cheat.h>

CHEAT_TEST(mathematics_still_work,

cheat_assert(2 + 2 == 4);

cheat_assert_not(2 + 2 == 5);

)

Preparing:

首先,您需要下载主标题:

[user@computer:~]$ wget http://github.com/Tuplanolla/cheat/raw/1.0.4/cheat.h

并将其移至合适的位置,例如全局搜索路径:

[user@computer:~]$ sudo mv -i cheat.h /usr/include

或项目的工作目录:

[user@computer:~]$ mv -i cheat.h project

然后就可以编写测试了。

使用扩展:

除了主标头之外,还有扩展标头:

[user@computer:~/project]$ wget http://github.com/Tuplanolla/cheat/raw/1.0.4/cheats.h

它应该用作补充,并期望首先包含主标头:

[user@computer:~/project]$ cat > tests.c

#include <cheat.h>

#include <cheats.h>

其他示例文件中演示了其功能:

[user@computer:~/project]$ wget http://github.com/Tuplanolla/cheat/raw/1.0.4/examples.c

[user@computer:~/project]$ mv -i examples.c tests.c

下载地址:https://github.com/Tuplanolla/cheat

4、mettle(C++14 单元测试)

单元测试工具MoqJS、Peridot、CHEAT、mettle介绍

mettle 是一个专门针对 C++14 的单元测试框架。结合了可读性和代码简洁。

示例代码:

#include <mettle.hpp>

using namespace mettle;

suite<> basic("a basic suite", [](auto &_) {

_.test("a test", []() {

expect(true, equal_to(true));

});

for(int i = 0; i < 4; i++) {

_.test("test number " + std::to_string(i), [i]() {

expect(i % 2, less(2));

});

}

subsuite<>(_, "a subsuite", [](auto &_) {

_.test("a sub-test", []() {

expect(true, equal_to(true));

});

});

});

下载地址:https://github.com/jimporter/mettle

注明

以上就是单元测试工具MoqJS、Peridot、CHEAT、mettle的介绍内容,这些单元测试工具都能使用在Linux操作系统中。

栏目相关文章