OpscodeがTest Kitchen 0.7.0 のリリースをアナウンスしたが、オンデマンドOpenStackインスタンスを使ってChef cookbooksのテストをサポートする。
Test Kitchenはツールで、Opscode Chefクックブック開発者が自分の稼働中のインフラにクックブックを適用する前にクックブックの妥当性を確認するのに役立つ。Test Kitchen はテストしているクックブックの基本的なシンタックスチェックを行うばかりでなく、更に、仮想マシン(VM)のセットアップとそのVM内でクックブックのテストを実行する。VMを立ち上げた後、MiniTestを実行して、テスト中のクックブックがVM上で修正したものを検証する。
Test Kitchen 0.7.0以前は、VMのセットアップにはVagrantをVirtualBoxと一緒に使うのが必須だった。これはすでにOpenStackを走らせているユーザーには、退屈な作業だった。なぜならあらゆる開発者のワークステーションと継続的統合サーバーに Vagrantをインストールして、保守する必要があるからである。最新の Test Kitchenを使えば、ユーザーは、別個のVagrant環境を管理しないで済む。
ユーザーがVagrant からインストールされた既存のOpenStackに移行できるように、 Test Kitchen 0.7.0は新しい OpenStackランナーを導入している。新しい OpenStackランナーはクックブックのKitchenfileで設定でき、OpenStack VM 上に自動的にchef-client をインストールし、Convergenceを実行し、テストする。
openstack do
auth_url "http://openstack-auth-host.example.com:5000/v2.0/tokens"
username "openstack-user-name"
password "the-password-of-the-openstack-user"
tenant "test-kitchen"
end
新しい OpenStackランナーに加えて、Test Kitchen 0.7.0には、apt, yum, build-essential, git、rvmクックブックの古いバージョンに対するハードコードされた依存性は、もはや存在しない。Cheffile中でこのようなクックブックを特定する代わりに、初期設定を行うためにそれ自身のクックブックを持つようになった。このクックブックは、バージョンに関わらず前述のクックブックに依存する。
2012年の12月3日以来、Test Kitchen 0.7.0は Ruby Gemとして入手できる。以下の簡単な入力でインストールできる。
gem install test-kitchen
Test Kitchenのソースコードは GitHubで入手できる。