天天看點

fixture使用時需要注意的問題

今天單測不太順利,主要是fixture使用不熟悉,記錄兩個問題

bug 1:經過定位發現是fixture資料始終不能灌入導緻的,檔案如下:

machine1:
  id: 1
  app_id: 1
machine1:
  id: 2
  app_id: 1      

期望有兩條資料,實際隻有一條,原因是在rspec灌資料時裝載yml,而這裡的資料是個hash,結果key相同(都是“machine1”)的entry被覆寫了,後一條被裝入。

是以解決辦法是:檢查并修改重名的fixture條目,確定不沖突

bug 2:經過定位發現是fixture資料導入時,某個條目出錯

something:
  id: 2
  app_id: 1
  name: package
  expression: "1,2" 
      

這裡的 expression 值期望為字元串 "1,2" ,然而最後總是變成 "12",後來才發現是格式問題,對于,這種特殊字元,不能省略字元串的雙引号,改為

是以解決辦法是:檢查并修改fixture條目中的格式特别的字元串,確定使用雙引号包含

記錄一下,使用時多留意