[SpecFlow] Doc Strings 多行文字

日前,要使用 SpecFlow 描述需求,被測目標會回傳多筆訊息,以往我驗證多筆資料是使用 \r\n

現在...我改用 Doc Strings

SpecFlow 要驗證多筆資料(Text),除了 \r\n 之外,還可以用 cucumber Doc Strings

感謝同事給了 方向: https://cucumber.io/docs/reference#step-arguments

用法就是前後用三個引號包起來,如下圖:

原本我是這樣寫,多筆訊息靠著 \r\n 斷行,其實還是一整行不容易閱讀

Scenario:錯誤訊息
	Given 模擬資料庫有以下資料
	| LockAccountId	| LockItemNo | LockFormNo |
	| 余小章			| 1          | 2016S01022 |
	| 余小章			| 2          | 2016S01022 |
	| 余小章			| 3          | 2016S01022 |
	And 是否鎖定參數
	| AccessId	| TimeNow             |
	| 王小明		| 2011-01-01 01:41:00 |
	When 我調用IsLock
	Then 應得到例外訊息 (項目:1,單號:2016S01022,不正常的操作,沒有在 20 分鐘內完成 存檔,該筆資料已被 余小章 使用\r\n項目:2,單號:2016S01022,不正常的操作,沒有在 20 分鐘內完成 存檔,該筆資料已被 余小章 使用\r\n項目:3,單號:2016S01022,不正常的操作,沒有在 20 分鐘內完成 存檔,該筆資料已被 余小章 使用)

 

改用 Doc Strings 之後,多筆描述就變得比較好閱讀。 :)

Scenario:錯誤訊息
	Given 模擬資料庫有以下資料
	| LockAccountId	| LockItemNo | LockFormNo |
	| 余小章			| 1          | 2016S01022 |
	| 余小章			| 2          | 2016S01022 |
	| 余小章			| 3          | 2016S01022 |
	And 是否鎖定參數
	| AccessId	| TimeNow             |
	| 王小明		| 2011-01-01 01:41:00 |
	When 我調用IsLock
	Then 應得到多筆例外訊息
	"""
	項目:1,單號:2016S01022,不正常的操作,沒有在 20 分鐘內完成 存檔,該筆資料已被 余小章 使用
	項目:2,單號:2016S01022,不正常的操作,沒有在 20 分鐘內完成 存檔,該筆資料已被 余小章 使用
	項目:3,單號:2016S01022,不正常的操作,沒有在 20 分鐘內完成 存檔,該筆資料已被 余小章 使用
	"""

 

若有謬誤,煩請告知,新手發帖請多包涵


Microsoft MVP Award 2010~2017 C# 第四季
Microsoft MVP Award 2018~2022 .NET

Image result for microsoft+mvp+logo