buddypress/tests/phpunit/bootstrap.php
Mathieu Viet f17a37b7f6 Build/Test Tools: include @wordpress/env into BuddyPress
`wp-env` requires Docker and the latest Node.js LTS version. It gives us a set of new `npm` commands to easily generate a local WordPress environment to unit test, develop and contribute to BuddyPress code.

To enjoy `wp-env`, make sure you have SVN or Git, composer, Node.js and Docker installed on your computer. Get the development version of BuddyPress using our SVN repository or its GitHub read-only mirror from this URL: https://buddypress.org/download/#trunk, and use the command to fetch the code locally into a `buddypress` folder. From your terminal software, move to this folder to install the needed libraries using the following commands.
`npm install`
`composer install`

Once done, you can set up your local development environment using this single command:
`npm run wp-env start`

You can now access to your local environment and finish the WordPress setup (permalinks etc..) from this URL:
`http://localhost:8888/wp-admin/`

The administration credentials are:
- Username: admin,
- Password: password

To stop the environment, you can use this command:
`npm run wp-env stop`

To run PHP unit tests, you can use this command:
`npm run test-php`

To run PHP unit tests on multisite, you can use this command:
`npm run test-php-multisite`

You can customize your local development setup using a file named `.wp-env.override.json `. Our default setup is using the WordPress development version and includes the BP REST plugin. For more details about `wp-env`, have a look at this documentation page: https://developer.wordpress.org/block-editor/packages/packages-env/

Props oztaser, mercime, vapvarun

Fixes #8317


git-svn-id: https://buddypress.svn.wordpress.org/trunk@12712 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
2020-08-30 17:53:06 +00:00

29 lines
971 B
PHP

<?php
if ( defined( 'BP_USE_WP_ENV_TESTS' ) ) {
// wp-env setup.
define( 'WP_TESTS_CONFIG_FILE_PATH', dirname( __FILE__ ) . '/assets/phpunit-wp-config.php' );
define( 'WP_TESTS_CONFIG_PATH', WP_TESTS_CONFIG_FILE_PATH );
// Use WP PHPUnit.
require_once dirname( dirname( dirname( __FILE__ ) ) ) . '/vendor/wp-phpunit/wp-phpunit/__loaded.php';
}
require( dirname( __FILE__ ) . '/includes/define-constants.php' );
if ( ! file_exists( WP_TESTS_DIR . '/includes/functions.php' ) ) {
die( "The WordPress PHPUnit test suite could not be found.\n" );
}
require_once WP_TESTS_DIR . '/includes/functions.php';
function _install_and_load_buddypress() {
require BP_TESTS_DIR . '/includes/loader.php';
}
tests_add_filter( 'muplugins_loaded', '_install_and_load_buddypress' );
require WP_TESTS_DIR . '/includes/bootstrap.php';
// Load the BP-specific testing tools
require BP_TESTS_DIR . '/includes/testcase.php';
require BP_TESTS_DIR . '/includes/testcase-emails.php';