Update README

This commit is contained in:
Mitchell Hashimoto 2013-12-05 14:31:25 -08:00
parent fd62251157
commit 3a15cdd8e4
2 changed files with 24 additions and 26 deletions

View File

@ -54,36 +54,31 @@ This will run the unit test suite, which should come back all green! Then you're
If you want to run Vagrant without having to install the gem, you may use `bundle exec`, If you want to run Vagrant without having to install the gem, you may use `bundle exec`,
like so: like so:
bundle exec bin/vagrant help bundle exec vagrant help
### Acceptance Tests ### Acceptance Tests
Vagrant also comes with an acceptance test suite which runs the system Vagrant also comes with an acceptance test suite that does black-box
end-to-end, without mocking out any dependencies. Note that this test tests of various Vagrant components. Note that these tests are **extremely
suite is **extremely slow**, with the test suite taking hours on even slow** because actual VMs are spun up and down. The full test suite can
a decent system. A CI will be setup in due time to run these tests take hours. Instead, try to run focused component tests.
automatically. However, it is still useful to know how to run these
tests since it is often useful to run a single test if you're working
on a specific feature.
The acceptance tests have absolutely _zero_ dependence on the Vagrant To run the acceptance test suite, first copy `vagrant-spec.config.example.rb`
source. Instead, an external configuration file must be used to give to `vagrant-spec.config.rb` and modify it to valid values. The places you
the acceptance tests some parameters (such as what Vagrant version is should fill in are clearly marked.
running, where the Vagrant `vagrant` binary is, etc.). If you want to
run acceptance tests against source, or just want to see an example of
this file, you can generate it automatically for the source code:
rake acceptance:config Next, see the components that can be tested:
This will drop an `acceptance_config.yml` file in your working directory. ```
You can then run a specific acceptance test like so: $ rake acceptance:components
cli
provider/virtualbox/basic
...
```
ACCEPTANCE_CONFIG=./acceptance_config.yml ruby test/acceptance/version_test.rb Then, run one of those components:
That's it! ```
$ rake acceptance:run COMPONENTS="cli"
If you're developing an acceptance test and you're unsure why things ...
might be failing, you can also view log output for the acceptance tests, ```
which can be very verbose but are a great help in finding bugs:
ACCEPTANCE_LOGGING=debug ACCEPTANCE_CONFIG=./acceptance_config.yml ruby test/acceptance/version_test.rb

View File

@ -1,4 +1,7 @@
require_relative "test/acceptance/base"
Vagrant::Spec::Acceptance.configure do |c| Vagrant::Spec::Acceptance.configure do |c|
c.provider "virtualbox", c.provider "virtualbox",
box_basic: "/Users/mitchellh/Downloads/package.box" box_basic: "<PATH TO MINIMAL BOX>",
contexts: ["provider/virtualbox"]
end end