test(wpmc S2): setup PHPUnit + Brain Monkey + Mockery

This commit is contained in:
Vladimir Bryzgalov
2026-05-12 17:31:53 +05:00
parent fad5a7d03b
commit d98499dbb2
4 changed files with 57 additions and 0 deletions
+2
View File
@@ -7,6 +7,8 @@
"php": ">=8.0"
},
"require-dev": {
"brain/monkey": "^2.6",
"mockery/mockery": "^1.6",
"phpunit/phpunit": "^9.6"
},
"autoload-dev": {
+20
View File
@@ -0,0 +1,20 @@
<?xml version="1.0"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.6/phpunit.xsd"
bootstrap="tests/bootstrap.php"
colors="true"
convertErrorsToExceptions="true"
convertNoticesToExceptions="true"
convertWarningsToExceptions="true"
beStrictAboutOutputDuringTests="true"
failOnRisky="true"
failOnWarning="true"
cacheResultFile=".phpunit.result.cache">
<testsuites>
<testsuite name="unit">
<directory>tests</directory>
<exclude>tests/bootstrap.php</exclude>
<exclude>tests/TestCase.php</exclude>
</testsuite>
</testsuites>
</phpunit>
+24
View File
@@ -0,0 +1,24 @@
<?php
declare(strict_types=1);
namespace WPMultiCity\Tests;
use Brain\Monkey;
use Mockery;
use PHPUnit\Framework\TestCase as BaseTestCase;
abstract class TestCase extends BaseTestCase
{
protected function setUp(): void
{
parent::setUp();
Monkey\setUp();
}
protected function tearDown(): void
{
Monkey\tearDown();
Mockery::close();
parent::tearDown();
}
}
+11
View File
@@ -0,0 +1,11 @@
<?php
declare(strict_types=1);
require_once __DIR__ . '/../vendor/autoload.php';
if (!defined('ABSPATH')) {
define('ABSPATH', __DIR__ . '/');
}
require_once __DIR__ . '/../includes/class-plugin.php';
\WPMultiCity\Plugin::register_autoloader();