Molecule vs Test Kitchen
Molecule
docs.ansible.comTest Kitchen
kitchen.ciSide by side
| Figure | Molecule | Test Kitchen |
|---|---|---|
| Price from | — | Free |
| Free plan | — | Yes |
| Free trial | — | — |
| Open source | — | Yes |
| Windows | — | Yes |
| macOS | — | Yes |
| Linux | Yes | Yes |
| API | — | Yes |
| Self-hosted | — | Yes |
| Plans published | 0 | 1 |
| Spec score · Infrastructure Testing Tools | 7.1 (#23) | 8.2 (#7) |
| Drivers | Molecule uses the delegated driver by default, and other drivers can be installed separately, most through the molecule-plugins package. | Documented drivers target Amazon EC2, Apache CloudStack, DigitalOcean, Docker via Dokken, Google Cloud Platform, Hetzner Cloud, Vagrant, Azure, Hyper-V, OpenStack, VMware vCenter, and VMware vRealize Automation. |
| Installation | The documentation names pip as the only supported installation method and recommends installing Molecule through the ansible-dev-tools package. | Users can install the gem with gem install test-kitchen or install Cinc Workstation. |
| License | The project GitHub page identifies Molecule as MIT licensed. | The project is released under the Apache License 2.0. |
| Purpose | Molecule is an Ansible testing framework for developing and testing collections, playbooks, and roles. | Test Kitchen is a test harness for executing infrastructure code on one or more platforms in isolation. |
| Support | The project directs users to the Ansible community forum for questions and help, and says possible security bugs can be reported to [email protected]. | The documentation directs users to the #test-kitchen channel on Chef Community Slack for assistance from community members. |
| Workflow | The `molecule test` command runs a configurable sequence of testing actions, including syntax, create, converge, idempotence, and verify. | Its basic workflow uses create, converge, setup, verify, and destroy commands to provision platforms and test infrastructure code. |
Plans
In their own words
Molecule
Molecule has no write-up on Specifiction yet; its figures are above.
Test Kitchen
Test Kitchen is a free test harness for running infrastructure code in isolation on one or more platforms. Its workflow uses create, converge, setup, verify, and destroy commands to provision environments and test infrastructure code. Documented drivers cover Amazon EC2, Apache CloudStack, DigitalOcean, Docker through Dokken, Google Cloud Platform, Hetzner Cloud, Vagrant, Azure, Hyper-V, OpenStack, and VMware products. Which drivers are available depends on the driver gems installed in the Ruby environment. Provisioning options include Chef Infra, Cinc Client, Habitat, PowerShell DSC, and shell scripts; listed verification integrations include Cinc Auditor, Chef InSpec, and Serverspec. Community plugins add Ansible, Puppet, and Salt provisioners. Installation is available through RubyGems, system packages, or Cinc Workstation, but Test Kitchen itself does not bundle Cinc or Chef tooling. Requirements include a 64-bit operating system and enabled CPU virtualization. The project uses Apache License 2.0 and points users to Chef Community Slack for community assistance. The documentation notes known issues and no current maintainer for kitchen-docker, recommending kitchen-dokken instead.