首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Simpletest无法重新声明simpletest_autorun()

Simpletest无法重新声明simpletest_autorun()
EN

Stack Overflow用户
提问于 2014-05-22 05:12:28
回答 1查看 113关注 0票数 1

MyTest.php中最简单的测试,运行时没有错误:

代码语言:javascript
复制
require_once ('simpletest/autorun.php');

class MyTest extends UnitTestCase {
    function test() {
        //Test...
    }
}

一个SimpleTest测试套件

代码语言:javascript
复制
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更改为:

代码语言:javascript
复制
if (!function_exists("simpletest_autorun")) {
    require_once ('simpletest/autorun.php');
}
class MyTest extends UnitTestCase {
    function test() {
        //Test...
    }
}   

这个例子似乎遵循了文档,它没有或者SimpleTest有这个错误吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-22 05:38:38

我只能假设您有多个SimpleTest autorun.php脚本的副本。

在测试用例文件中执行require尝试包含第二个autorun.php文件(与测试套件中包含的文件不同),后者第二次定义simpletest_autorun()

线号不匹配这一事实为我的假设增添了可信度。

查看错误消息中的全路径,应该会显示出发生了什么。

确定要保留和删除另一个副本,更新代码或配置中的任何不正确路径,包括php.ini中的php.ini

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23798264

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档