您的位置:首页 > 运维架构

(测试)Openbravo如何编写一个测试用例

2013-07-13 23:37 267 查看
一. 目标

这一篇文章的目标在openbravo里面建立一个测试用例,用来单元验证一段代码的正确性。比如我们写了一个后台持久化方法,需要验证是否写得正确,而前台又没有写好,无法测试。这个时候,我们可以写一个简单的测试用例来验证其正确性。

前提条件:已经创建了一个module,在openbravo中所有新增的代码都必须属于一个模块。

二. 步骤

1. 在你建立的模块对应的文件夹下面建立一个新文件夹src-test,如下图所示:



2. 将这个文件夹加入项目的源文件目录,选择项目点击右键build path->configure build path...,弹出的对对话框中 source页签,点击添加文件夹,将刚刚新增的src-test文件夹加入项目的源文件目录。

3. 在这个文件加下面新建一个java包,名称随便取。

4. 在包下面新建一个java类,内容如下:

package org.openbravo.client.application.test;

import java.util.List;

import org.openbravo.dal.service.OBCriteria;
import org.openbravo.dal.service.OBDal;
import org.openbravo.model.ad.access.User;
import org.openbravo.test.base.BaseTest;

public class ExampleTest extends BaseTest {

public void testUsersCount() {
setSystemAdministratorContext();

final OBCriteria<User> uCriteria = OBDal.getInstance().createCriteria(
User.class);

final List<User> uList = uCriteria.list();
int userCount = 0;
for (User u : uList) {

if (u == null || u.getPassword() == null) {
continue;
}

if (u.getPassword().length() > 0)
userCount++;
}
assertTrue(userCount > 0);

System.out.println("Total of users with password: " + (userCount));
}
}


4.1 这个类必须继承BaseTest

4.2 方法名必须以test打头,junit才能找到这个方法。

4.3 接着我们通过OBDal获取到所有用户的信息,并且把密码长度大于0的用户个数进行统计

4.4 我们进行了一次断言,用户密码长度大于0的个数是否大于0.

4.5 在方法里面,如果我们想中断事务,回退或者提交,可以调用OBDal.getInstance的commitAndClose,rollbackAndClose方法等等

5. openbravo里面有很多种跑测试用例的方法,主要是如下三种:(如果你新建了一个测试用例,需要按如下规则处理)

5.1 如果你这个测试用例跑得很快,而且影响是单方面的,加入到AllQuickAntTaskTests

5.2 如果需要耗上一点时间,影响是单方面的,加入到 AntTaskTests

5.3 所有新建的测试用例都需要加入到 AllAntTaskTests

三. 效果

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: