शेफ व्यंजनों के परीक्षण के लिए सर्वश्रेष्ठ अभ्यास?


18

मेरी टीम ने बड़ी संख्या में शेफ कुकबुक बनाई हैं। मैं सोच रहा था कि मुझे किन तरीकों और रूपरेखाओं पर ध्यान देना चाहिए ताकि हम यह सुनिश्चित करने के लिए परीक्षण बनाना शुरू कर सकें कि हमारे नोड्स ठीक से कॉन्फ़िगर किए गए हैं?


), यह की तरह लगता है cooking.se पर अंतर्गत आता है
मार्क हेंडरसन

एक पल के लिए मुझे लगा कि आप शेफ के बारे में बात कर रहे हैं: en.wikipedia.org/wiki/Chef_%28programming_language%29
Janne Pikkarainen

जवाबों:


7

आप इसके लिए वैग्रंट में भी देख सकते हैं ।
एक वीडियो दिखा रहा है कि कैसे वैग्रेंट और शेफ कुकबुक के कॉम्बो का उपयोग किया जाए। और ओप्सोड साइट पर वैग्रांत और शेफ के लिए एक समर्पित पृष्ठ है (अपडेट 2015-01-23: पृष्ठ चला गया है ...)।


3

नहीं है cucumber-chefमाणिक रत्न और एक हाल ही में जारी पुस्तक नेल्सन स्मिथ एट अल - "बावर्ची के साथ टेस्ट चालित इन्फ्रास्ट्रक्चर" कि बनाता है कि मणि की का उपयोग करें - http://www.cucumber-chef.org/

बस इसे मेरी गीथूब घड़ी से याद किया गया: https://github.com/gregretkowski/vmth/

VMTH (वर्चुअल मशीन टेस्ट हार्नेस) आपके इंफ्रास्ट्रक्चर ऑटोमेशन - कठपुतली नीतियों, शेफ रेसिपी, परिनियोजन स्क्रिप्ट आदि को यूनिट-टेस्ट करने के लिए एक तंत्र प्रदान करता है। यह आधुनिक वीएम मॉनिटर (जैसे किमू) की विशेषताओं का उपयोग स्नैपशॉट सिस्टम स्थिति और फिर रीसेट करने के लिए करता है। प्रत्येक परीक्षण के बाद वह स्थिति, ताकि तेजी से उत्तराधिकार में एक वीएम उदाहरण पर परीक्षणों की एक श्रृंखला का प्रदर्शन किया जा सके


1

कई विकल्प हैं।

ऑप्सकोड में बावर्ची विकास रोडमैप "नो-ऑप" समर्थन है जो परीक्षण के साथ मदद करेगा। हम तर्क देते हैं कि "नो-ऑप" जरूरी नहीं है कि आप क्या चाहते हैं, लेकिन सुविधा की इच्छा को समझें।


1

Some of the answers here seem a bit old. For CI and local testing I would look into leveraging a test harness tool like Test Kitchen which also supports Vagrant if you've been using that already.

It will allow you to run your coobkooks against many cloud and virtualizations solutions out there today: EC2, Digital Ocean, Vagrant, Docker, etc..

It also has plugins to allow you to run one of the many infrastructure test tools that exist out there today:

  • serverspec - Most popular testing framework.
  • goss - YAML, simple, self-contained binary, extremely fast.
  • inspec - think of it as serverspec improved (written by the chef guys).
  • testinfra - Python based server testing framework.

0

In my experience, the only way to really do this is with a staging environment and careful development practices. Mocking out the actual work to be done is incredibly messy and fragile, and CI test suites running on commit or push are a lot of effort to write and maintain (although Chef is probably a lot better at this than Puppet, which is my main experience), and take a ridiculous amount of time to run.

EDIT

Just after I wrote this, I suddenly realised there might be a way to do reasonably efficient "unit" testing of Chef/Puppet recipes with a union filesystem and a significant amount of scaffolding. However, I can't find anything out there that anyone's done already in this area. I might have just found myself a project.


Testing the infrastructure itself is incredibly important. Naturally, there are a number of methodologies, i.e, functional and nonfunctional, necessary to implement this slightly differently than software methodologies.
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.