2010-07-29 179 views
0

我有一個控制器,它定義了要在視圖中顯示的@projects變量。Rails黃瓜訪問控制器變量

有沒有辦法在黃瓜步驟中訪問該項目? 請注意,此變量包含分頁結果,這個想法是測試值是否顯示在頁面中。

我試圖通過分配和控制器訪問變量,但他們都是n。

謝謝。

回答

3

你一般會處理這個問題的方法是在Cucumber中通過直接測試輸出。

所以:

  • 鑑於X項目
  • 當我查看項目N頁
  • 然後我看到項目A
  • 我不應該看到項目B

你不需要訪問來自Cucumber特性的控制器變量,因爲Cucumber旨在模擬用戶在您的網站和用戶的體驗沒有直接訪問控制器。

+0

好吧,所以我不得不說,應該出現在頁面中的5個項目的名稱(例如)? 我認爲這可能更具活力,因爲項目是由工廠創建的。 – miguelfteixeira 2010-07-29 09:23:00

+0

您可以通過查找頁面中的元素使其更具動態性。你可以使用html解析和正則表達式做出一些非常聰明的任務...「所以我可以看到頁面上的5個項目」可能映射到尋找特定html元素的東西。 – 2010-07-30 01:22:49

+1

如果項目是由工廠創建的,那麼您應該能夠訪問您的步驟定義。因此,將變量存儲在給定步驟中,然後在\ then步驟中隨後可以訪問該變量 – AlistairH 2010-08-02 08:14:51