MyTest.php中最简单的测试,运行时没有错误:
require_once ('simpletest/autorun.php');
class MyTest extends UnitTestCase {
function test() {
//Test...
}
}一个SimpleTest测试套件
require_once ('simpletest/autorun.php');
class AllTests extends TestSuite {
function __construct() {
$this->TestSuite('All tests');
$this->addFile('MyTest.php');
}
}错误:
致命错误:无法重新声明/Library/WebServer/Documents/Option/tests/simpletest/autorun.php:26) ()(以前在第34行的/Library/WebServer/Documents/option/tests/simpletest/autorun.php中用simpletest_autorun声明)
(可怕的)解决方案,将MyTest.php更改为:
if (!function_exists("simpletest_autorun")) {
require_once ('simpletest/autorun.php');
}
class MyTest extends UnitTestCase {
function test() {
//Test...
}
} 这个例子似乎遵循了文档,它没有或者SimpleTest有这个错误吗?
发布于 2014-05-22 05:38:38
我只能假设您有多个SimpleTest autorun.php脚本的副本。
在测试用例文件中执行require尝试包含第二个autorun.php文件(与测试套件中包含的文件不同),后者第二次定义simpletest_autorun()。
线号不匹配这一事实为我的假设增添了可信度。
查看错误消息中的全路径,应该会显示出发生了什么。
确定要保留和删除另一个副本,更新代码或配置中的任何不正确路径,包括php.ini中的php.ini。
https://stackoverflow.com/questions/23798264
复制相似问题