<?php
class Hoge
{
public function talk(){
print "おいらHogeクラスです";
}
}
こいつには、namespaceの宣言がないことに注意してください。
Monkey.phpにtalkToHogeというメソッドを追加します。
<?php
namespace MonkeyWorld;
class Monkey
{
public function scream(){
echo "ウキー!!!";
}
public function talkToChimpanzee(){
Chimpanzee::talk();
}
public function talkToHoge(){
Hoge::talk();
}
}
MonkeyTest.phpに次のテストメソッドを足します。
public function testTalkToHoge()
{
$monkey = new Monkey();
ob_start();
$monkey->talkToHoge();
$actual = ob_get_clean();
$expected = 'おいらHogeクラスです';
$this->assertEquals($expected, $actual);
}
MonkeyTestクラスを実行します。
Error : Class 'MonkeyWorld\Hoge' not found D:\xampp\htdocs\autoloadSample\class\Monkey.php:16 D:\xampp\htdocs\autoloadSample\tests\MonkeyTest.php:38
<?php
use PHPUnit\Framework\TestCase;
require_once "class/Monkey.php"; //書き換え
class MonkeyTest extends TestCase
{
public function testScream()
{
$monkey = new Monkey();
ob_start();
$monkey->scream();
$actual = ob_get_clean();
$expected = 'ウキー!!!';
$this->assertEquals($expected, $actual);
}
}
Shift + F10で実行します。
Testing started at 12:37 … D:\xampp\php\php.exe D:\xampp\php\phpunit.phar --configuration D:\xampp\htdocs\autoloadSample\phpunit.xml --filter "/(MonkeyTest::testScream)( .*)?$/" --test-suffix MonkeyTest.php D:\xampp\htdocs\autoloadSample\tests --teamcity PHPUnit 8.5.8 by Sebastian Bergmann and contributors. Error : Class 'Monkey' not found D:\xampp\htdocs\autoloadSample\tests\MonkeyTest.php:12 Time: 98 ms, Memory: 12.00 MB ERRORS! Tests: 1, Assertions: 0, Errors: 1. Process finished with exit code 2
エラーですね…。
「結局、Class ‘Monkey’ not found って出ますけど!なんなんですか!!!」
まぁまぁ、まだあわてるような時間じゃないって冒頭に言いましたね。( ˊᵕˋ )
テスト元のファイル、Monkey.phpをよく見てみると
<?php
namespace MonkeyWorld;
class Monkey
{
public function scream(){
echo "ウキー!!!";
}
}