Some checks failed
Tests / PHP 7.0 (push) Has been cancelled
Tests / PHP 7.4 (push) Has been cancelled
Tests / PHP 8.0 (push) Has been cancelled
Tests / Code Style (push) Has been cancelled
Sync Wiki / Sync Wiki to GitHub (push) Has been cancelled
Release / Build and Release (push) Has been cancelled
1.9 KiB
1.9 KiB
Plugin Tests
This directory contains test files for the plugin.
Test Structure
bootstrap.php
: Sets up the test environmenttest-core.php
: Tests for the Core classtest-admin.php
: Tests for the Admin class- Add more test files as needed for additional classes
Running Tests
To run the tests, you need to have PHPUnit and WP Mock installed. You can install them using Composer:
composer install
Then, run the tests:
./vendor/bin/phpunit
Writing Tests
When writing tests:
- Create a new file named
test-{class-name}.php
for each class you want to test - Extend the
WP_Mock\Tools\TestCase
class - Use WP Mock to mock WordPress functions
- Write test methods for each method in your class
Example:
<?php
use WPALLSTARS\PluginStarterTemplate\YourClass;
class YourClassTest extends WP_Mock\Tools\TestCase {
public function setUp(): void {
parent::setUp();
WP_Mock::setUp();
}
public function tearDown(): void {
WP_Mock::tearDown();
parent::tearDown();
}
public function test_your_method() {
// Set up mocks
WP_Mock::userFunction('wp_function', [
'times' => 1,
'args' => ['argument'],
'return' => 'result',
]);
// Create instance of your class
$instance = new YourClass();
// Call the method
$result = $instance->your_method('argument');
// Assert the result
$this->assertEquals('expected result', $result);
}
}
Test Coverage
To generate a test coverage report:
./vendor/bin/phpunit --coverage-html coverage
This will generate an HTML report in the coverage
directory.
Continuous Integration
The tests are automatically run on GitHub Actions when you push to the repository. See the .github/workflows/tests.yml
file for details.