VCCWでWordPress構築後、VagrantにSSHしたあとに、test-sample.phpにテストコードを書いてphptunitしても No tests executed!
と表示される。
これは、test-sample.phpはphpunitのデフォルト実行の対象外として設定されているため、testファイルを新規作成して設置しないといけない。
Agenda
PHPUnitの実行例
testsフォルダ内は、bootstrap.phpとtest-sample.phpのみ配置で実行。
vagrant@vccw /v/w/h/w/p/my-plugin> phpunit
Installing...
Running as single site... To run multisite, use -c tests/phpunit/multisite.xml
Not running ajax tests. To execute these, use --group ajax.
Not running ms-files tests. To execute these, use --group ms-files.
Not running external-http tests. To execute these, use --group external-http.
PHPUnit 5.6.0 by Sebastian Bergmann and contributors.
Time: 1.3 seconds, Memory: 30.00MB
No tests executed!
test-sample.phpの中身
<?php
/**
* Class SampleTest
*
* @package My_Plugin
*/
/**
* Sample test case.
*/
class SampleTest extends WP_UnitTestCase {
/**
* A single example test.
*/
public function test_sample() {
// Replace this with some actual testing code.
$this->assertTrue( true );
}
}
直接ファイルを指定すればphpunitできる
vagrant@vccw /v/w/h/w/p/my-plugin> phpunit tests/test-sample.php
Installing...
Running as single site... To run multisite, use -c tests/phpunit/multisite.xml
Not running ajax tests. To execute these, use --group ajax.
Not running ms-files tests. To execute these, use --group ms-files.
Not running external-http tests. To execute these, use --group external-http.
PHPUnit 5.6.0 by Sebastian Bergmann and contributors.
. 1 / 1 (100%)
Time: 1.34 seconds, Memory: 30.00MB
OK (1 test, 1 assertion)
テスト対象ファイルの設定
test-sample.phpは実行しないという設定は phpunit.xml.dist の <exclude>
に記載されている。
<?xml version="1.0"?>
<phpunit
bootstrap="tests/bootstrap.php"
backupGlobals="false"
colors="true"
convertErrorsToExceptions="true"
convertNoticesToExceptions="true"
convertWarningsToExceptions="true"
>
<testsuites>
<testsuite>
<directory prefix="test-" suffix=".php">./tests/</directory>
<exclude>./tests/test-sample.php</exclude>
</testsuite>
</testsuites>
</phpunit>
phpunitするには
test-sample.php以外のtestファイルを設置すれば、 $ phpunit
でテスト実行できる。