刚开始使用PHPUnit框架,我试图将其合并到现有代码中。
我们说我是一个班级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 :(得分:0)
已经实现我试图在同一个文件中使用两个名称空间,主要是尝试use PHPUnit\Framework\
并拥有一个直接包含PHPUnit函数的命名空间。