2016-12-06 160 views
0

在大多數編程語言中,在某些情況下很容易跳過測試。在基於haskell HSpec的測試套件中有沒有適當的方法來做到這一點?是否有可能跳過HSpec測試套件中的測試?

+0

什麼是編程語言和測試系統之間的聯繫? :) – freestyle

+0

我的意思是測試用例的實現,通常意味着應用測試框架。 – palik

回答

1

如果我理解正確,核心HSpec沒有這種情況下的特殊解決方案。但是你可以跳過測試而沒有詳細的說明。例如:

main = hspec $ do 
    ... 
    when isDatabaseServerRunning $ do 
     describe "database" $ do 
      it "test some one" $ do 
       ... 

另一種解決方案也許使用的功能等mapSpecItem_用於改變測試的結果,以Pending與關於爲什麼被跳過消息。例如:

skip :: String -> Bool -> SpecWith a -> SpecWith a 
skip _ False = id 
skip why True = mapSpecItem_ updateItem 
    where 
    updateItem x = x{itemExample = \_ _ _ -> return . Pending . Just $ why} 
+0

>如果我理解正確,HSpec的核心沒有針對這種情況的特殊解決方案。 謝謝@freestyle,這證實了我的假設 – palik

相關問題