You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+67-1Lines changed: 67 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -52,7 +52,7 @@ To make use of the WP-CLI testing framework, you need to complete the following
52
52
```
53
53
This will make sure that the automated Behat system works across all platforms. This is needed on Windows.
54
54
55
-
4. Update your composer dependencies and regenerate your autoloader and binary folders:
55
+
5. Update your composer dependencies and regenerate your autoloader and binary folders:
56
56
```bash
57
57
composer update
58
58
```
@@ -81,6 +81,72 @@ Prepending with the double dash is needed because the arguments would otherwise
81
81
82
82
### Controlling the test environment
83
83
84
+
#### WordPress Version
85
+
86
+
You can run the tests against a specific version of WordPress by setting the `WP_VERSION` environment variable.
87
+
88
+
This variable understands any numeric version, as well as the special terms `latest` and `trunk`.
89
+
90
+
Note: This only applies to the Behat functional tests. All other tests never load WordPress.
91
+
92
+
Here's how to run your tests against the latest trunk version of WordPress:
93
+
```bash
94
+
WP_VERSION=trunk composer behat
95
+
```
96
+
97
+
#### WP-CLI Binary
98
+
99
+
You can run the tests against a specific WP-CLI binary, instead of using the one that has been built in your project's `vendor/bin` folder.
100
+
101
+
This can be useful to run your tests against a specific Phar version of WP_CLI.
102
+
103
+
To do this, you can set the `WP_CLI_BIN_DIR` environment variable to point to a folder that contains an executable `wp` binary. Note: the binary has to be named `wp` to be properly recognized.
104
+
105
+
As an example, here's how to run your tests against a specific Phar version you've downloaded.
106
+
```bash
107
+
# Prepare the binary you've downloaded into the ~/wp-cli folder first.
108
+
mv ~/wp-cli/wp-cli-1.2.0.phar ~/wp-cli/wp
109
+
chmod +x ~/wp-cli/wp
110
+
111
+
WP_CLI_BIN_DIR=~/wp-cli composer behat
112
+
```
113
+
114
+
### Setting up the tests in Travis CI
115
+
116
+
Basic rules for setting up the test framework with Travis CI:
117
+
118
+
*`composer prepare-tests` needs to be called once per environment.
119
+
*`linting and sniffing` is a static analysis, so it shouldn't depend on any specific environment. You should do this only once, as a separate stage, instead of per environment.
120
+
*`composer behat || composer behat-rerun` causes the Behat tests to run in their entirety first, and in case their were failed scenarios, a second run is done with only the failed scenarios. This usually gets around intermittent issues like timeouts or similar.
121
+
122
+
Here's a basic setup of how you can configure Travis CI to work with the test framework (extract):
123
+
```yml
124
+
install:
125
+
- composer install
126
+
- composer prepare-tests
127
+
128
+
script:
129
+
- composer phpunit
130
+
- composer behat || composer behat-rerun
131
+
132
+
jobs:
133
+
include:
134
+
- stage: sniff
135
+
script:
136
+
- composer lint
137
+
- composer phpcs
138
+
env: BUILD=sniff
139
+
- stage: test
140
+
php: 7.2
141
+
env: WP_VERSION=latest
142
+
- stage: test
143
+
php: 7.2
144
+
env: WP_VERSION=3.7.11
145
+
- stage: test
146
+
php: 7.2
147
+
env: WP_VERSION=trunk
148
+
```
149
+
84
150
#### WP-CLI version
85
151
86
152
You can point the tests to a specific version ow WP-CLI through the `WP_CLI_BIN_DIR` constant:
0 commit comments