VCCWでPHPUnit実行時にNo tests executed!

VCCWでWordPress構築後、VagrantにSSHしたあとに、test-sample.phpにテストコードを書いてphptunitしても No tests executed! と表示される。
これは、test-sample.phpはphpunitのデフォルト実行の対象外として設定されているため、testファイルを新規作成して設置しないといけない。

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 でテスト実行できる。