unserialize():Y字节的偏移量X处的错误

时间:2016-10-24 15:57:01

标签: php phpunit joomla3.5

我正在尝试使用Joomla中的PHPUnit创建测试。有几个错误之后这就是我所拥有的:

pathToProject /测试/ pruebastests.php:

<?php   
class PruebasTest extends  PHPUnit_Framework_TestCase
{
    public function testSimple0()
    {
        $a = 3-1;
        $this->assertEquals(2, $a);     
    }

    public function testSimple1()
    {
        $this->assertEquals(2, 1 + 2);        
    }

    public function testSimple2()
    {
        $this->assertEquals(2, 1+1);        
    }
}

当我在那条路上奔跑时:

 phpunit pruebatests.php

它给了我一个错误:

  

EF。

     

时间:3.18秒,内存:5.75MB

     

有1个错误:

     

1)PruebasTest :: testSimple0 unserialize():偏移3919处的错误   8500字节

它始终在第一次测试中运行。我的意思是,如果删除testSimple0函数,我会收到与testSimple1相同的错误

我已阅读与此反序列化错误相关的其他StackOverflow问题,但它们对我没有帮助。

编辑:如果我在同一项目中使用不同文件的其他PC中尝试,则错误为:

  

unserialize():错误偏移量4189为8484字节

我意识到错误与bootstrap.php有关:

<?php

error_reporting(E_ALL);

define('_JEXEC', 1);
define('BASEPATH', realpath(dirname(__FILE__) . '/../'));
define('JOOMLA_PATH', realpath(dirname(__FILE__) . '/../'));
define('JOOMLA_ADMIN_PATH', realpath(dirname(__FILE__) . '/../'));
$_SERVER['HTTP_HOST'] = 'localhost';
$_SERVER['REQUEST_METHOD'] = 'GET';

define('DS', DIRECTORY_SEPARATOR);
if (file_exists(JOOMLA_ADMIN_PATH . '/defines.php'))
{
    include_once JOOMLA_ADMIN_PATH . '/defines.php';
}

if (!defined('_JDEFINES'))
{
    define('JPATH_BASE', JOOMLA_ADMIN_PATH);
    require_once JPATH_BASE . '/includes/defines.php';
}

require_once JPATH_BASE . '/includes/framework.php';
define('JPATH_COMPONENT', JOOMLA_ADMIN_PATH . '/components/com_content');
$app = JFactory::getApplication('administrator');

如果我评论最后一行,则错误消失。但如果我这样做,我就无法控制任何控制器...

有什么想法吗?我正在使用Joomla 3.5和PHPUnit 4.8

0 个答案:

没有答案