/
var
/
www
/
barefootlaw.org
/
wp-content
/
plugins
/
timeline-express
/
lib
/
admin
/
CMB2
/
tests
/
Upload File
HOME
# CMB Test Suite []() The CMB Test Suite uses PHPUnit to help us maintain the best possible code quality. Travis-CI Automated Testing ----------------------------- The master branch of CMB is automatically tested on [travis-ci.org](http://travis-ci.org). The image above will show you the latest test's output. Travis-CI will also automatically test all new Pull Requests to make sure they will not break our build. Quick Start (For Manual Runs) ----------------------------- ### 1. Clone this repository ```bash git clone git@github.com:CMB2/CMB2.git ./ ``` ### 2. [Install PHPUnit](https://github.com/sebastianbergmann/phpunit#installation) This might be tricky. We recommend using [homebrew](http://brew.sh/) because it lets you install lots of things very easily. If you use homebrew, you can just run `brew install phpunit`. ### 3. Initialize local testing environment If you haven't already installed the WordPress testing library, we have a helpful script to do so for you. Note: you'll need to already have `svn`, `wget`, and `mysql` available. Change to the CMB directory: ```bash cd CMB2 ``` ```bash bash tests/bin/install-wp-tests.sh wordpress_test root '' localhost latest ``` * `wordpress_test` is the name of the test database (**all data will be deleted!**) * `root` is the MySQL user name * `''` is the MySQL user password * `localhost` is the MySQL server host * `latest` is the WordPress version; could also be `3.7`, `3.6.2` etc. ### 4. Run the tests manually Note: MySQL must be running in order for tests to run. ```bash phpunit ``` ### 5. Bonus Round: Run tests automatically before each commit All you need to do is run these two commands, and then prior to accepting any commit grunt will run phpunit. If a test fails, the commit will be rejected, giving you the opportunity to fix the problem first. ```bash npm install grunt githooks ``` **Note:** You'll need to install [npm](https://www.npmjs.org/) if that's not available. You could also install this via [homebrew](http://brew.sh/) using `brew install npm`.