1. Go to this page and download the library: Download yoast/wp-test-utils library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
yoast / wp-test-utils example snippets
namespace PackageName\Tests;
use Yoast\WPTestUtils\BrainMonkey\TestCase;
class FooTest extends TestCase {
protected function set_up() {
parent::set_up();
// Your own additional setup.
}
protected function tear_down() {
// Your own additional tear down.
parent::tear_down();
}
public function testAFunctionContainingStringTranslating() {
$this->stubTranslationFunctions(); // No HTML escaping will be applied.
// Or:
\Brain\Monkey\Functions\stubTranslationFunctions(); // HTML escaping will be applied.
// Test your code.
}
public function testAFunctionContainingOutputEscaping() {
$this->stubEscapeFunctions(); // No HTML escaping will be applied.
// Or:
\Brain\Monkey\Functions\stubEscapeFunctions(); // HTML escaping will be applied.
// Test your code.
}
}
namespace PackageName\Tests;
use Yoast\WPTestUtils\BrainMonkey\YoastTestCase;
class FooTest extends YoastTestCase {
// Your test code.
}
namespace PackageName\Tests;
use Mockery;
use WP_Post;
use wpdb;
use Yoast\WPTestUtils\BrainMonkey\TestCase;
class FooTest extends TestCase {
protected function set_up_before_class() {
parent::set_up_before_class();
self::makeDoublesForUnavailableClasses( [ WP_Post::class, wpdb::class ] );
// or if only one class is needed:
self::makeDoubleForUnavailableClass( WP_Post::class );
}
public function testSomethingWhichUsesWpPost() {
$wp_post = Mockery::mock( WP_Post::class );
$wp_post->post_title = 'my test title';
$wp_post->post_type = 'my_custom_type';
$this->assertSame( 'expected', \function_under_test( $wp_post ) );
}
}
namespace PackageName\Tests;
use Yoast\WPTestUtils\WPIntegration\TestCase;
class FooTest extends TestCase {
protected function set_up() {
parent::set_up();
// Your own additional setup.
}
}
use Yoast\WPTestUtils\WPIntegration;
if ( getenv( 'WP_PLUGIN_DIR' ) !== false ) {
define( 'WP_PLUGIN_DIR', getenv( 'WP_PLUGIN_DIR' ) );
}
$GLOBALS['wp_tests_options'] = [
'active_plugins' => [ 'plugin-name/main-file.php' ],
];
R' ) || file_exists( WP_PLUGIN_DIR . '/plugin-name/main-file.php' ) === false ) {
echo PHP_EOL, 'ERROR: Please check whether the WP_PLUGIN_DIR environment variable is set and set to the correct value. The integration test suite won\'t be able to run without it.', PHP_EOL;
exit( 1 );
}
use Yoast\WPTestUtils\WPIntegration;
_to_wp_test_dir();
// Get access to tests_add_filter() function.
DIR__ . '/relative/path/to/main-file.php';
}
// Add plugin to active mu-plugins to make sure it gets loaded.
tests_add_filter( 'muplugins_loaded', '_manually_load_plugin' );
/*
* Bootstrap WordPress. This will also load the Composer autoload file, the PHPUnit Polyfills
* and the custom autoloader for the TestCase and the mock object classes.
*/
WPIntegration\bootstrap_it();
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.