WP-Unit の testcase に覚えのないクラスが含まれている件
テストなしで WordPress のプラグインの開発をしていたが限界を感じたので、 WP-Unit なるプラグインを導入。 PHPUnit によるテスト体制を整えることを試みる。
が、おもむろにサンプルのテストを走らせてみると、いきなり出鼻を挫かれる。
testcase
ディレクトリの中には見当たらない、 PHPUnit_Framework_Warning
なるクラスが含まれている。どうやら PHPUnit フレームワークに含まれている、 PHPUnit_Framework_TestCase
を継承したクラスのようだ。 WPUnit.php
を覗いてみると、どうやら PHPUnit_Framework_TestCase
を継承したクラスを全てテストに含んでいるようなので、以下のパッチをあてさせていただいた。
<?php // wp-content/plugins/wp-unit/WPUnit.php if($_POST['Submit'] =='Run') { + $predefined_classes = wptest_get_all_test_cases(); /*require all test cases within testcase directory*/ $files = wptest_get_all_test_files(DIR_TESTCASE); @@ -61,6 +62,7 @@ function manage_page() } $classes = wptest_get_all_test_cases(); + $classes = array_diff($classes, $predefined_classes); // run the tests and print the results