首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

Feed4Junit的简略使用(三)数据源来自数据库

2013-12-02 
Feed4Junit的简单使用(三)数据源来自数据库Feed4Junit官方地址:http://databene.org/feed4junit.html?Feed

Feed4Junit的简单使用(三)数据源来自数据库

Feed4Junit官方地址:

http://databene.org/feed4junit.html

?

Feed4Junit测试数据来自数据库:

Feed4JUnit 1.1.2 发布了,该版本支持数据来自数据库

???????????? 利用Feed4JUnit能够很方便用随机但校验过的数据执行冒烟测试来提高代码 代码覆盖率和发现由非常特殊的数据结构产生的Bug。此外还可以利用Feed4JUnit轻松定义等价类测试。

官方文档:

Retrieving test data from a database

Databases can be declared and configured with a

@RunWith(Feeder.class)
@Database(id??? }
???@Database(idNamepackage com.easyway.feed4junit;import static org.junit.Assert.assertEquals;import org.databene.benerator.anno.Database;import org.databene.benerator.anno.Source;import org.databene.feed4junit.Feeder;import org.junit.Test;import org.junit.runner.RunWith;import com.easyway.junit4.JunitSample.UserAccess;/* * Feed4JUnit - Get Data from Database, all test methods can use the database data */@RunWith(Feeder.class)@Database(id = "testdb", url = "jdbc:oracle:thin:@192.168.xxx.xxx:1521:ticket", driver = "oracle.jdbc.driver.OracleDriver", user = "xxx", password = "xxx")public class F4JfromDB {@Test@Source(id = "testdb", selector = "select * from test_feed4junit")public void testAccessCheck(String userName, String pw, String expected) {Boolean bSucess = UserAccess.accessCheck(userName.trim(), pw.trim());assertEquals(expected.trim(), bSucess.toString());}}

?

@Database注释在方法:

package com.easyway.feed4junit;import static org.junit.Assert.assertEquals;import org.databene.benerator.anno.Database;import org.databene.benerator.anno.Source;import org.databene.feed4junit.Feeder;import org.junit.Test;import org.junit.runner.RunWith;import com.easyway.junit4.JunitSample.UserAccess;/* * Feed4JUnit - Get Data from Database,  only the specified method can use the database data */@RunWith(Feeder.class)public class F4JfromDB_Method {@Test@Database(id = "testdb", url = "jdbc:oracle:thin:@192.168.45.171:1521:ticket", driver = "oracle.jdbc.driver.OracleDriver", user = "tbs", password = "tbs")@Source(id = "testdb", selector = "select * from test_feed4junit")public void testAccessCheck(String userName, String pw, String expected) {Boolean bSucess = UserAccess.accessCheck(userName.trim(), pw.trim());assertEquals(expected.trim(), bSucess.toString());}}

?

?

@Database注释基于配置文件的方式:

在项目src的统计目录下文件必须是同级别的下文件:

?

dbtest.env.properties文件名称的格式为Database的注解属性中environment+“env.properties”

?

内容如下:

db_url=jdbc:oracle:thin:@192.168.xxxx.xxx:1521:ticket
db_driver=oracle.jdbc.driver.OracleDriver
db_user=xxxx

db_password=xxxx

测试代码:

?

?

?

package com.easyway.feed4junit;import static org.junit.Assert.assertEquals;import org.databene.benerator.anno.Database;import org.databene.benerator.anno.Source;import org.databene.feed4junit.Feeder;import org.junit.Test;import org.junit.runner.RunWith;import com.easyway.junit4.JunitSample.UserAccess;/* * Feed4JUnit - Get Data from Database,  only the specified method can use the database data */@RunWith(Feeder.class)public class F4JfromConfiguration {@Test    @Database(id = "testdb", environment = "dbtest") @Source(id = "testdb", selector = "select * from test_feed4junit")public void testAccessCheck(String userName, String pw, String expected) {Boolean bSucess = UserAccess.accessCheck(userName.trim(), pw.trim());assertEquals(expected.trim(), bSucess.toString());}}

?