artofwp / wp-testing
WordPress插件和主题解耦测试框架。依赖PHPUnit。
dev-master
2016-05-12 15:52 UTC
Requires
- php: >=5.3.0
This package is not auto-updated.
Last update: 2024-09-28 17:49:23 UTC
README
免责声明:该项目是实验性的。
这是官方WordPress测试工具的一个分支。此框架已适配用于Composer,因此支持自动加载。另一个变化是将WP单元测试用例从引导文件中解耦。这是好的,因为PHPUnit的工作方式,PHPUnit在启动时加载所有测试文件,这意味着WordPress安装和相关活动即使在不需要时也会运行。与WordPress Trac和相关标准WordPress测试套件相关的大部分代码也已删除。
它与默认的WordPress测试设置兼容。
如何使用
步骤 1
像往常一样设置WordPress测试环境。请参阅WordPress PHPUnit。您需要向运行程序提供WordPress和配置文件的路径。它不使用WP_TESTS_DIR环境变量。
步骤 2
使用Composer安装此框架。
步骤 3
在项目根目录中创建一个phpunit.xml文件。下面的示例文件定义了PHPUnit应默认运行的3个测试套件。监听器用于为每个测试套件加载引导文件。
<phpunit bootstrap="tests/bootstrap.php" backupGlobals="false" colors="true" convertErrorsToExceptions="true" convertNoticesToExceptions="true" convertWarningsToExceptions="true" > <testsuites> <testsuite name="unit"> <directory prefix="" suffix="Test.php">./tests/unit</directory> </testsuite> <testsuite name="integration"> <directory prefix="" suffix="Test.php">./tests/integration</directory> </testsuite> <testsuite name="acceptance"> <directory prefix="" suffix="Test.php">./tests/acceptance</directory> </testsuite> </testsuites> <listeners> <listener class="\ArtOfWP\WP\Testing\BootstrapLoader"></listener> </listeners> </phpunit>
在项目根目录中的tests目录创建一个bootstrap.php文件,指向Composer自动加载文件。
<?php $root_dir=dirname(__DIR__); require $root_dir . '/vendor/autoload.php';
为需要每个测试套件的引导创建一个引导。测试套件引导文件是可选的。
- tests/bootstrap-unit.php
- tests/bootstrap-integration.php
- tests/bootstrap-acceptance.php
- tests/unit/bootstrap.php
- tests/integration/bootstrap.php
- tests/acceptance/bootstrap.php
对于集成测试,以下将安装WordPress并激活插件。
<?php use ArtOfWP\WP\Testing\WP_Bootstrap; $GLOBALS['wp_tests_options'] = array( 'active_plugins' => array( 'my-plugin/my-plugin.php' ) ); (new WP_Bootstrap($wordpress_path, __DIR__ . '/wp-tests-config.php'))->run();
步骤 4
根据您的设置,只需在终端中输入phpunit或vendor/bin/phpunit。要仅运行单元测试,请输入phpunit --testsuite unit