A Busser runner plugin for the minitest testing library
This software project is no longer under active development as it has no active maintainers. The software may continue to work for some or all use cases, but issues filed in GitHub will most likely not be triaged. If a new maintainer is interested in working on this project please come chat with us in #test-kitchen on Chef Community Slack.
Until proper reference documentation is complete, the Writing a Test section of the Test Kitchen's Getting Started Guide gives a working example of creating test.
Assuming a cookbook with with the following structure (some directories omitted for brevity), and a .kitchen.yml has been written with one suite per recipe.
.
├── Berksfile
├── Berksfile.lock
├── CHANGELOG.md
├── README.md
├── Thorfile
├── attributes
│ └── default.rb
├── chefignore
├── definitions
├── files
│ └── default
│ ├── bar.txt
│ ├── foo.txt
│ └── foobar.txt
├── libraries
├── metadata.rb
├── providers
├── recipes
│ ├── bar.rb
│ ├── default.rb
│ └── foo.rb
├── resources
├── templates
│ └── default
The test directory follows a similar structure to the recipes directory. In the integration directory, there should be a directory for each recipe, which contains a directory for each busser being used. In this example, we're only using minitest. Finally, the actual test files themselves live inside the busser directory. The test files must be named either test_*.rb or *_spec.rb in order to be parsed.
└── test
└── integration
├── bar
│ └── minitest
│ └── test_bar.rb
├── default
│ └── minitest
│ └── test_default.rb
└── foo
└── minitest
└── test_foo.rb
The test files use standard minitest assertions, constructs etc. As an example, the test_default.rb file listed above might have the following content to check for the existence of a particulare file.
require 'minitest/autorun'
describe "foobar::default" do
it "has created foobar.txt" do
assert File.exists?("/usr/local/foobar.txt")
end
end
- Source hosted at GitHub
- Report issues/questions/feature requests on GitHub Issues
Pull requests are very welcome! Make sure your patches are well tested. Ideally create a topic branch for every separate change you make. For example:
- Fork the repo
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Added some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
Created and maintained by Fletcher Nichol ([email protected])
Apache 2.0 (see LICENSE)