요리사 레시피 테스트를위한 모범 사례?


18

우리 팀은 많은 요리사 요리 책을 만들었습니다. 노드가 올바르게 구성되었는지 확인하기 위해 테스트 작성을 시작할 수 있도록 어떤 방법과 프레임 워크를 조사해야하는지 궁금했습니다.


cooking.se;)에 속하는 것 같습니다
Mark Henderson

: 잠시 동안 당신이 요리사에 대해 얘기했다 생각 en.wikipedia.org/wiki/Chef_%28programming_language%29
의 Janne Pikkarainen

답변:


7

이를 위해 Vagrant 를 살펴볼 수도 있습니다 . 비디오는 방랑과 요리사 요리 책의 콤보를 사용하는 방법을 보여주고있다. Opscode 사이트 에 Vagrant and Chef 전용 페이지가 있습니다 (2015-01-23 업데이트 : 페이지가 사라졌습니다 ...).


3

있다 cucumber-chef루비 보석과 최근 출시 된 책 넬슨 - 스미스 등 알 - 차종이 그 보석의 사용을 "요리사 시험 중심의 인프라"- http://www.cucumber-chef.org/

내 github 감시 목록에서 이것을 기억했습니다 : https://github.com/gregretkowski/vmth/

VMTH (Virtual Machine Test Harness)는 인프라 자동화 (퍼펫 정책, 요리사 레시피, 릴리스 배포 스크립트 등)를 단위 테스트하는 메커니즘을 제공합니다. qemu와 같은 최신 VM 모니터의 기능을 사용하여 시스템 상태를 스냅 샷 한 다음 재설정합니다. VM 인스턴스에서 일련의 테스트를 빠르게 연속적으로 수행 할 수 있도록 각 테스트 후의 상태



1

여기에 대한 답변 중 일부는 약간 오래된 것 같습니다. CI 및 로컬 테스트의 경우 이미 사용하고 있다면 Vagrant를 지원하는 Test Kitchen 과 같은 테스트 도구를 활용하려고 합니다.

EC2, Digital Ocean, Vagrant, Docker 등 많은 클라우드 및 가상화 솔루션에 대해 쿠쿠 크를 실행할 수 있습니다.

또한 현재 존재하는 많은 인프라 테스트 도구 중 하나를 실행할 수있는 플러그인이 있습니다.

  • serverspec-가장 많이 사용되는 테스트 프레임 워크
  • goss -YAML, 단순하고 독립적 인 바이너리로 매우 빠릅니다.
  • inspec-서버 스펙이 향상되었다고 생각하십시오 (주방장이 쓴 것).
  • testinfra-파이썬 기반 서버 테스트 프레임 워크.

0

내 경험상 실제로 이것을 수행하는 유일한 방법은 준비 환경과 신중한 개발 관행입니다. 실제 작업을 수행하는 것은 엄청나게 지저분하고 부서지기 쉬우 며 커밋 또는 푸시로 실행되는 CI 테스트 스위트는 작성 및 유지 관리에 많은 노력을 기울이고 있습니다. )를 실행하고 말도 안되는 시간이 걸립니다.

편집하다

이 글을 쓴 직후, 나는 조합 파일 시스템과 상당한 양의 스캐 폴딩으로 Chef / Puppet 레시피에 대해 합리적으로 효율적인 "단위"테스트를 수행 할 수있는 방법이 있다는 것을 갑자기 깨달았습니다. 그러나 이미이 분야에서 누군가가 한 일을 찾을 수 없습니다. 방금 프로젝트를 찾았습니다.


인프라 자체를 테스트하는 것은 매우 중요합니다. 당연히 소프트웨어 방법론과 약간 다르게 구현하는 데 필요한 여러 방법론, 즉 기능적 및 비 기능적 방법이 있습니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.