簡體   English   中英

實例變量將數據存儲在黃瓜/紅寶石/牛奶中?

[英]Instance Variable to store data in cucumber/ruby/watir?

我正在使用紅寶石/瓦特爾/黃瓜為購物車編寫一些自動化測試。 我需要保存要在審閱和確認頁面上使用的項目信息。 實例變量是這樣做的方法嗎? 我想像一個散列類型數組存儲在實例變量中,因為我需要存儲描述,訂購數量,價格和變量。 例如:

@cartItems = []

apple = {type: 'washington', quantity: 1, price: 0.74}
orange = {type: 'naval', quantity: 2, price: 1.25}
banana = {type: 'cavendish', quantity: 4, price: 0.50, size: 'large'}
@cartItems = push(apple)
@cartItems = push(orange)
@cartItems = push(banana)

然后,我將閱讀@cartItems來檢查復查/確認頁面上的那些內容? 可以從任何頁面添加到@cartItems嗎?

關於這是否合適,有幾種理論。 這是一篇討論利弊的文章

這是大綱。

  • 它導致更具可讀性的步驟
  • 我們的步驟失去了參照透明度
  • 這值得么?
    • 無論如何我們都依賴狀態
    • 我不是步驟重用的忠實擁護者。
  • 小心使用成員變量

為了真正做到這一點,您可能應該開始使用“ Test Data Builder”設計模式。 該模式將允許您創建和存儲要在測試中使用的大型數據結構。 請參閱TestFactory gem的文檔,以獲取對該模式進行編碼的一種方法的描述: https : //github.com/rSmart/TestFactory

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM