Feed4Junit的容易使用(二)数据源来自文件
Feed4Junit的简单使用(二)数据源来自文件Feed4Junit官方地址:http://databene.org/feed4junit.htmlFeed4Ju
Feed4Junit的简单使用(二)数据源来自文件
Feed4Junit官方地址:
http://databene.org/feed4junit.html
Feed4Junit数据源来自文件
?????????? Feed4JUnit能够让编写JUnit的 参数化测试变得简便,并为这些测试提供预定义或随机测试数据。它能够从业务分析人员定义好的CVS或 Excel文件读取测试用例数据并在构建/单元测试框架中报告测试成功。
官方文档:
Reading test data from a file
Data sources are easily configured using the @Source annotation (org.databene.benerator.anno.Source):
@RunWith(Feeder.class)public class LoginTest {
??? @Test
?????? }
???package com.easyway.feed4junit;import static org.junit.Assert.assertEquals;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 CSV/Excel File source * 以文件作为数据源Feed4JUnit 支持从 CSV 或者 Excel 文件里面读取数据作为输入,这里我们以 Excel 文件为例。1. 在测试项目的根目录下创建 Data.xls 数据文件,样例数据如图 3,默认情况下,第一行会以列名存在,在运行过程中不会作为数据读取。图 3. Excel 数据源2. 创建测试类并在接收数据的测试方法上声明数据源为 @Source("Data.xls"),Excel 中的数据在传递过程中会自动按照列与测试方法的参数的位置顺序进行匹配,并以行作为一个单位读取并传递给测试方法体。比如图 3 中的 user 列的值会做为方法的第一个参数传入方法体中,pw 列的值会作为方法的第二个参数,以此类推。在测试进行过程中,首先在 Excel 文件中读取一行(包含三列),接着按照位置顺序将数据传递到方法体中(每列按顺序对应一个参数)进行执行,执行完成后读取 Excel 中的下一行进行相同流程的测试,其原理与 Java 中的迭代器十分类似。请注意当数据文件中数据的列数小于测试方法参数的个数的时候,测试会因为位置不匹配而失败。 */@RunWith(Feeder.class)public class F4JfromFile {@Test@Source("data.csv")//CSV sourcepublic void testAccessCheck_CSV(String userName, String pw, boolean expected) {assertEquals(expected, UserAccess.accessCheck(userName, pw));}@Test@Source("data.xlsx")//Excel sourcepublic void testAccessCheck_Excel(String userName, String pw, boolean expected) {assertEquals(expected, UserAccess.accessCheck(userName, pw));}}
?