PHPUnitフレームワークの使用を開始したばかりで、既存のコードに組み込もうとしています。PHPに名前空間を持つファイルが含まれています
のは、私にクラスMath
を言ってみましょう、私はそれが以下のように書かれている、
<?php
/**
*
* Date: 19/12/2017
* Time: 16:22
*/
include_once 'include/testing_namespace.php';
class Math extends TestCase {
function isEven($x) {
if ($this->assertInternalType(IsType::TYPE_NUMERIC)) {
if ($x % 2 == 0) {
return true;
} else {
return false;
}
}
}
function isOdd($y) {
if ($this->assertInternalType(IsType::TYPE_NUMERIC)) {
if ($y % 2 >= 1) {
return true;
} else {
return false;
}
}
}
}
そして、私はそうのようなPHPファイルinclude/testing_namespace.php
を持って、
<?php
namespace testing;
use PHPUnit\Util\PHP;
use PHPUnit\Framework\Constraint;
use PHPUnit\Framework\Constraint\IsType;
use PHPUnit\Framework\TestCase;
use PHPUnit\Framework\Assert;
$path = $_SERVER['APPL_PHYSICAL_PATH'];
// class includes, may need to branch these off into separate include files
include_once $path . '\vendor\phpunit\phpunit\src\Framework\Assert\Functions.php';
include_once $path . '\vendor\phpunit\phpunit\src\Framework\TestCase.php';
include_once $path . 'vendor\phpunit\phpunit\src\Framework\Constraint\IsEqual.php';
include_once $path . 'vendor\phpunit\phpunit\src\Framework\Constraint\IsFalse.php';
include_once $path . 'vendor\phpunit\phpunit\src\Framework\Constraint\IsEmpty.php';
include_once $path . 'vendor\phpunit\phpunit\src\Framework\Constraint\IsNull.php';
?>
だが、私はそうのようにテストしてるとしましょう、
$m = new testing\Math();
$integer1 = 8;
var_dump($m->isEven($integer1));
die();
(これはしばらくの間うまくいくと思われました)
私がテストしているファイルに、isEven
とも呼ばれる関数があり、名前空間には含まれていませんがファイルにも含まれているとします。
たとえば、oldfuncs/OldMath.php
には、同じ名前のisEven()
関数があります。
最初の質問は、ここで正しく名前空間を使用していますか?また、名前空間宣言を含むファイルを含めることができますか?それを含むファイルをその名前空間に入れますか?