单元测试工具AntUnit、CassandraUnit、FlexUnit、Setac介绍

以下为你介绍的单元测试工具都可用在Linux系统上:AntUnit(Ant 单元测试任务)、CassandraUnit(Cassandra单元测试)、FlexUnit(Flex单元测试框架)、Setac(Scala的Actor测试框架)。

1、AntUnit(Ant 单元测试任务)

Apache AntUnit 是一个 Ant 的任务,用来提供单元测试。它为Apache Ant的任务和类型提供测试框架。

antunit任务:

<antunit>任务驱动测试,就像<junit>进行JUnit测试一样。

在构建文件上调用该任务时,该任务将为该构建文件启动一个新的Ant项目,并扫描名称以“test”开头的目标。对于每个这样的目标,它将:

如果存在,请执行名为setUp的目标。

执行目标本身-如果此目标依赖于其他目标,则将应用正常的Ant规则,并且首先执行从属目标。

如果存在目标名称,则执行该名称。

例子:

这是一种测试<touch>实际上是否创建文件的方法:

<project xmlns:au="antlib:org.apache.ant.antunit">

<!-- is called prior to the test -->

<target name="setUp">

<property name="foo" value="foo"/>

</target>

<!-- is called after the test, even if that caused an error -->

<target name="tearDown">

<delete file="${foo}" quiet="true"/>

</target>

<!-- the actual test case -->

<target name="testTouchCreatesFile">

<au:assertFileDoesntExist file="${foo}"/>

<touch file="${foo}"/>

<au:assertFileExists file="${foo}"/>

</target>

</project>

运行类似的任务时:

<au:antunit>

<fileset dir="." includes="touch.xml"/>

<au:plainlistener/>

</au:antunit>

从自己的构建文件中,您将获得如下结果:

[au:antunit] Build File: /tmp/touch.xml

[au:antunit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0.249 sec

[au:antunit] Target: testTouchCreatesFile took 0.183 sec

BUILD SUCCESSFUL

Total time: 1 second

下载地址:http://ant.apache.org/antlibs/antunit/

2、CassandraUnit(Cassandra单元测试)

CassandraUnit是一个Cassandra数据操作的单元测试框架,其功能与关系型数据库测试框架DBunit类似,只是其测试对象是Cassandra。

主要特点:

启动嵌入式Cassandra。

创建结构(键空间和列族)并从XML,JSON或YAML数据集加载数据。

执行一个CQL脚本。

下面是一个最简单使用例子:

创建一个用于存储数据的xml文件,命名为 simpleDataSet.xml:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<keyspace xmlns="http://xml.dataset.cassandraunit.org">

<name>beautifulKeyspaceName</name>

<columnFamilies>

<columnFamily>

<name>beautifulColumnFamilyName</name>

<row>

<key>key10</key>

<column>

<name>name11</name>

<value>value11</value>

</column>

<column>

<name>name12</name>

<value>value12</value>

</column>

</row>

<row>

<key>key20</key>

<column>

<name>name21</name>

<value>value21</value>

</column>

</row>

</columnFamily>

</columnFamilies>

</keyspace>

然后再创建一个单元测试类,继承自AbstractCassandraUnit4TestCase:

package org.cassandraunit;

import static org.hamcrest.Matchers.is;

import static org.hamcrest.Matchers.notNullValue;

import static org.junit.Assert.assertThat;

import org.cassandraunit.dataset.IDataSet;

import org.cassandraunit.dataset.xml.ClassPathXmlDataSet;

import org.junit.Test;

public class AutomaticallyStartAndLoadSimpleDataSetTest extends AbstractCassandraUnit4TestCase {

@Override

public IDataSet getDataSet() {

return new ClassPathXmlDataSet("simpleDataSet.xml");

}

@Test

public void shouldHaveLoadASimpleDataSet() throws Exception {

assertThat(getKeyspace(), notNullValue());

assertThat(getKeyspace().getKeyspaceName(), is("beautifulKeyspaceName"));

}

}

下载地址:https://github.com/jsevellec/cassandra-unit

3、FlexUnit(Flex单元测试框架)

单元测试工具AntUnit、CassandraUnit、FlexUnit、Setac介绍

FlexUnit是Flex和ActionScript 3.0应用程序和库的单元测试框架,它模仿Java单元测试框架JUnit的功能,并带有图形测试运行程序。特征:FlexUnit 4是元数据驱动的,使您在创建测试时具有极大的自由度和轻松性。

FlexUnit可以说是Junit的一个复制,因为它们具有太多的相似性,不过说白了,其实所有的单元测试都是一个样,主要的方法就是通过输入来比较输出的结果是否正确。虽说原理是这么简单,但是一个好的单元测试框架,可以为编程人员带来很好的方便,在FlexUnit中,当然也有一个很有的框架。

下载地址:http://www.flexunit.org/

4、Setac(Scala的Actor测试框架)

Setac 是 Scala 的 Actor 程序测试框架,可让程序员编写测试用例。

注明

以上就是单元测试工具AntUnit、CassandraUnit、FlexUnit、Setac的介绍内容,这些单元测试工具都能使用在Linux操作系统中。

栏目相关文章