Cucumber中引數型別傳遞

2021-07-29 15:20:17 字數 2409 閱讀 7591

在使用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...