簡體   English   中英

與使用Kitchen進行測試相比,ChefSpec在廚師中是否真的有用?

[英]Is ChefSpec in chef really usable compared to testing with Kitchen

我已經用ChefSpec涵蓋了食譜代碼,之后又進行了Kitchen集成測試。 最后,對我來說,ChefSpec並不是真正有用的,僅需多加一點維護,因為:

  • 當我用TDD / BDD編寫Java時,我發現使用這種方法的真正好處是-很多較小的類,DI集成,模塊化,更少的錯誤。

  • 但是,對於Chef和ChefSpec而言,它僅是可用的默認生成的規范,它可以幫助我解決一些編譯和語法錯誤。

例如,如何將ChefSpec與Chef一起使用以查看相同的好處,例如Java中的TDD / BDD。

ChefSpec是運行食譜的更快方法,因為它使用Chef Solo。 這樣,您可以提供不同的節點屬性,無需運行Kitchen就可以斷言特定於OS的行為。

ChefSpec是一個RSpec庫,我認為這是您所指的。 它是為單元測試而構建的,它通過讓所有提供程序默認不實際運行來完成的。 因此,它進行了“收斂”,但是沒有任何實際實現,因此運行非常迅速。 不利的一面是,您實際上無法檢查副作用是否符合您的預期。 為此,您需要真正真正運行Chef,這就是Test Kitchen的目的。 它是用於創建VM,在其上運行Chef,然后在VM上運行某種正確性測試的框架。 對於正確性測試,您可以使用許多工具,但是最常見的是Serverspec(這是RSpec庫)和InSpec(這不是RSpec庫,但在大多數情況下看起來像一個)。

因此,RSpec涉及單元測試和集成測試,但涉及不同的任務。

暫無
暫無

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

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