Feed4Junit的简单使用(三)数据源来自数据库
Feed4Junit官方地址:
http://databene.org/feed4junit.html
?
Feed4Junit测试数据来自数据库:
Feed4JUnit 1.1.2 发布了,该版本支持数据来自数据库
???????????? 利用Feed4JUnit能够很方便用随机但校验过的数据执行冒烟测试来提高代码 代码覆盖率和发现由非常特殊的数据结构产生的Bug。此外还可以利用Feed4JUnit轻松定义等价类测试。
官方文档:
Databases can be declared and configured with a
@RunWith(Feeder.class) ? @Database注释在方法: ? ? @Database注释基于配置文件的方式: 在项目src的统计目录下文件必须是同级别的下文件: ? dbtest.env.properties文件名称的格式为Database的注解属性中environment+“env.properties” ? 内容如下: db_url=jdbc:oracle:thin:@192.168.xxxx.xxx:1521:ticket db_password=xxxx 测试代码: ? ? ? ?
@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());}}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());}}
db_driver=oracle.jdbc.driver.OracleDriver
db_user=xxxxpackage 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());}}