鑑於小例子如何編寫自定義廚師資源的迴歸測試?
# resources/novowel.rb
resource_name :novowel
property :name, String, name_property: true, regex: /\A[^aeiou]\z/
我想編寫單元測試中spec/unit/resources/novowel_spec.rb
- 資源「novowel」的名稱應該接受「K」
- 資源「novowel」的名稱應接受'&'
- 資源'novowel'的名稱不應該接受'a'
- 資源'novowel'爲名稱不應該接受'mm'
確保名稱屬性仍然正常工作,即使正則表達式由於某種原因而更改。
我瀏覽了幾個頂尖的廚師食譜,但無法找到這種測試的參考。
怎麼辦?如果能幫助完成任務,請隨意提供更復雜的示例,並明確說明子類別Chef::Resource
。
更新1:當物業不適合regex
時,廚師是否會失敗?顯然,這不應該工作:
link '/none' do
owner 'r<oo=t'
to '/usr'
end
但chef-apply
(37年12月13日)不抱怨r<oo=t
不匹配owner_valid_regex
。它簡單地收斂,好像owner
不會被提供。
這隻適用於名稱屬性(順便說一句,不應該稱爲':name')。 – coderanger
@coderanger我不同意。當然你可以指定任何這樣的財產。見上面的擴展示例。 – arney
@coderanger你能解釋爲什麼有一個名爲'name'的屬性可能會產生問題嗎? – arney