1.9 KiB
Testing the java cookbook
This cookbook includes both unit tests via ChefSpec and integration tests via Test Kitchen. Contributions to this cookbook will only be accepted if all tests pass successfully:
kitchen test
chef exec rspec
Setting up the test environment
Install the latest version of Vagrant and VirtualBox (free) or VMWare Fusion (paid).
The Chef tooling (chefspec/test kitchen/etc) is managed by the Chef Development Kit - Version 0.2.0-2.
Clone the latest version of the cookbook from the repository.
git clone git@github.com:agileorbit-cookbooks/java.git
cd java
Running ChefSpec
ChefSpec unit tests are located in spec
. Each recipe has a recipename_spec.rb
file that contains unit tests for that recipe. Your new functionality or bug fix should have corresponding test coverage - if it's a change, make sure it doesn't introduce a regression (existing tests should pass). If it's a change or introduction of new functionality, add new tests as appropriate.
To run ChefSpec for the whole cookbook:
chef exec rspec
To run ChefSpec for a specific recipe:
chef exec rspec spec/set_java_home_spec.rb
Running Test Kitchen
Test Kitchen test suites are defined in .kitchen.yml. Running kitchen test
will cause Test Kitchen to spin up each platform VM in turn, running the java::default
recipe with differing parameters in order to test all possible combinations of platform, install_flavor, and JDK version. If the Chef run completes successfully, corresponding tests in test/integration
are executed. These must also pass.