2017-12-19 11 views
1

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()関数があります。

最初の質問は、ここで正しく名前空間を使用していますか?また、名前空間宣言を含むファイルを含めることができますか?それを含むファイルをその名前空間に入れますか?

答えて

0

実現私は、同じファイル内に2つの名前空間を使用しようとしましたが、use PHPUnit\Framework\を試して、PHPUnitの関数を直接含む名前空間を持っていました。

関連する問題