在使用cucumber
進行bdd
的過程中,很多時候,測試的同事準備的測試資料都是字串型別的或者是
cucumber
**型別,這個時候,我們需要將字串型別的測試資料,進行一系列的轉換,例如
list
,實體類等,下面就來談談
cucumber
給我們提供了哪些方便的型別轉換
示例1:string
型別轉list
feature檔案
: 功能:演示cucumber中如何通過字串陣列來實現list
場景:給定乙個字串,cucumber會自動將這個字串轉換成list集合
假如:給定了如下的動物:"老虎,大象,草泥馬,獅子"
step_definition:
@假如("^:給定了如下的動物:\"([^\"]*)\"$")
public
void 給定了如下的動物(@delimiter(",") listarg1) throws throwable }}
使用方法:
使用@delimiter
來標註字串的分隔符,示例中使用的是」,」
示例2:
datatable
轉list
feature:檔案
功能:演示cucumber中如何通過資料**來實現list
場景:給定乙個資料**,cucumber會自動將這個**轉換成list集合
假如:給定了如下的動物:
|老虎|大象|草泥馬|獅子|
step_definition:
@假如("^:給定了如下的動物:$")
public
void 給定了如下的動物(datatable animals) throws throwable }}
使用方法:
cucumber會將**對應的轉換成
datatable
類,該類提供了操作**的所有方法,以及轉換方法
示例3:日期格式的字串轉換成
date
或calendar
feature:檔案
功能:cucumber中日期格式轉換示例
場景:日期格式轉換
假如:給定的日期為"2016-08-08t06:54:12"
step_definition:
注:轉換成date
型別@假如("^:給定的日期為\"([^\"]*)\"$")
public
void 給定的日期為(@format("yyyy-mm-dd't'hh:mm:ss") date date) throws throwable
注:轉換成calendar型別
@假如("^:給定的日期為\"([^\"]*)\"$")
public
void 給定的日期為(@format("yyyy-mm-dd't'hh:mm:ss") calendar cal) throws throwable
使用方法:
使用@format註解,然後配合傳入的日期字串格式,實現對日期的轉換
示例4:字串轉物件
feature檔案:
money
類是有元和分構成
功能:模擬在atm機取錢
場景:正確的場景,使用銀行卡從atm機取錢
假如:我的賬戶中有$"100.00"
step_definition:
@假如("^:我的賬戶中有\\$\"([^\"]*)\"$")
public
void 我的賬戶中有$(@transform(moneyconverter.class) money amount) throws throwable
使用方法:使用@transform註解,該註解的值為繼承了transformer的類,實現**如下:
public
class moneyconverter extends transformer
}示例5
:字串轉物件
feature檔案:
功能:演示transpose轉換成實體類的功能
場景:假如:給定的user資訊如下
| firstname |roberto |liu |
| nationality|italian |china |
| lastname |lo giacco|chuanhong|
step_definition:
@假如("^:給定的user資訊如下$")
public
void
給定的user資訊如下(@transpose listuser) throws throwable
}使用方法:將類物件的各個欄位的值對應到datatable中,然後使用
@transpose
註解,可以實現
datatable
轉物件的功能
GraphQL 引數型別與引數傳遞
2019graphql入門到精通 graphql基本引數型別 graphql基本引數傳遞 type query numdice不能為空,numsides可以為空,返回值為int型別陣列 graphql允許客戶自定義引數型別,通常用來描述想要獲取的資源的屬性。graphiql true 開啟除錯模式 ...
值傳遞與引用傳遞 引數型別
根據儲存方式不同,我們將資料型別分為值型別和引用型別。值型別 基本資料型別 int float double boolean long 列舉 結構。儲存在棧當中的,提取資料快,但是分配空間多,耗資源,建議資料量少的情況下使用。引用型別 object型別 類 陣列 介面 值傳遞 1 直接傳遞值型別 結...
執行緒中傳遞引數
執行緒操作主要用到thread類,他是定義在system.threading.dll下。使用時需要新增這乙個引用。該類提供給我們四個過載的建構函式 以下引自msdn thread threadstart 初始化 thread 類的新例項。由 net compact framework 支援。thre...