Download the PHP package msaari/wp-test-framework without Composer

On this page you can find all versions of the php package msaari/wp-test-framework. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package wp-test-framework

msaari/wp-test-framework

Extracted and librarized version of WordPress core's PHPUnit test framework to help with writing integration tests in WordPress plugins and themes.

The test framework is fetched from https://develop.svn.wordpress.org/trunk/tests/phpunit/ and is stored in src/phpunit (with minor changes to make it work better as a Composer package).

The sources are updated when needed, so there may be minor differences between the core framework and this extracted library version. Let the maintainers know if there are bigger changes which need to be merged here.

Installation

This library should be installed as a Composer dependency inside your plugin or theme:

$ composer require --dev msaari/wp-test-framework

WordPress testing installation setup

You need to have a WordPress instance downloaded locally into a directory where your user account can load and execute PHP code from:

$ cd /home/you/wordpress
$ wp-cli core download

Next, you do not need to install WP in there but instead you need a wp-tests-config.php file to be available. It is similar to a regular wp-config.php but is solely for testing purposes.

You can find an example configuration at https://develop.svn.wordpress.org/trunk/wp-tests-config-sample.php. Copy the contents into the WordPress root directory (ABSPATH) and set up the configuration for your system (databases, etc.).

Your plugin/theme can (and probably should) live outside the WordPress testing installation.

Setting up PHPUnit for your plugin/theme

Inside your plugin/theme directory you need to setup PHPUnit. Any regular-ish phpunit.xml configuration should work. In your PHPUnit bootstrap file you should load the WordPress test framework as such:

<?php

require_once './vendor/autoload.php';

\msaari\WpTestFramework\Framework::load();

Then you should load your plugin or theme. In the same bootstrap file you can do the following:

<?php

require_once './vendor/autoload.php';

\msaari\WpTestFramework\Framework::load();

// Load your plugin

require_once dirname(__DIR__) . '/my-plugin.php';

// You can also add WP configuration here if you need to

Now your plugin tests are bootstrapped to use the test framework and your test cases can now act as integration tests that use the whole WordPress stack. In other words you can run tests just like WordPress core tests are run!

Running your tests

You need to define an environment variable that contains a filesystem path (absolute or relative) to the WordPress testing installation you created earlier. The environment variable name is

WP_TESTS_INSTALLATION

You can use the environment variable with PHPUnit as follows:

$ WP_TESTS_INSTALLATION=/home/you/wordpress phpunit

Now you should see the WordPress get loaded and installed and you can start writing tests against the WordPress stack.

Contributing

The upstream test framework might need mirroring from time to time so feel free to ping the maintainers in case a refresh is needed.

Submitting code is OK as long as it fits the purpose of this library and works. Documentation is also very welcome.

If something does not work as expected be sure to raise an issue.

Other notes

Thanks for the WordPress team for the test framework.

License

As the source framework and WordPress in general is GPLv2+, this library uses GPLv3+. See LICENSE.md.


All versions of wp-test-framework with dependencies

PHP Build Version
Package Version
Requires php Version >=7.1
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package msaari/wp-test-framework contains the following files

Loading the files please wait ....