PHPUnit的问题实例化新类测试 - “错误加载类文件”为不相关的类

PHPUnit的问题实例化新类测试 - “错误加载类文件”为不相关的类

问题描述:

我想测试我的邮件类,但是当我运行PHPUnit的我在控制台中的三个错误:PHPUnit的问题实例化新类测试 - “错误加载类文件”为不相关的类

1) messageClassTest::testCanBeCreatedFromMessageIDAndFBMPageAccessToken 
error loading class file: /Users/ads/org/repo/classes/PHPUnit/DbUnit/TestCase.php 
error loading class file: /Users/ads/org/repo/classes/Symfony/Component/Yaml/Yaml.php 
error loading class file: /Users/ads/org/repo/classes/Composer/Autoload/ClassLoader.php 
Undefined index: fallback 

/Users/ads/org/repo/classes/message.php:47 
/Users/ads/org/repo/classes/message.php:170 
/Users/ads/org/repo/ci_tests/messageClassTest.php:18 

当我实例化Message类时,这个错误是存在的,它与错误日志中的类完全无关,并且当我以相同的方式实例化它时,它在类文件中完美工作..我做错了什么?

此外,下面指向消息类文件的其他三个错误是关于数组中没有空值的非致命错误,所以我不认为我的麻烦在那里。

这里是我的单元测试文件:

<?php 

// backward compatibility 
if (!class_exists('\PHPUnit\Framework\TestCase') && 
    class_exists('\PHPUnit_Framework_TestCase')) { 
    class_alias('\PHPUnit_Framework_TestCase', 'PHPUnit\Framework\TestCase'); 
} 

require_once __DIR__ . '/../classes/message.php'; 


class messageClassTest extends PHPUnit\Framework\TestCase { 

    private $message; 

    public function setup() { 
     $FBM_PAT = "token"; 
     $this->message = Message::createNewMessage(1, $FBM_PAT); 

    } 

    public function testCanBeCreatedFromMessageIDAndFBMPageAccessToken() 
    { 

     $class = Message::class; 
     $message = $this->message; 
     $this->assertInstanceOf($class, $message); 
    } 
} 




?> 

另外,我实例在这个其他堆栈溢出后建议的方式,消息对象:

PHPUnit: include class after mocking it

+0

您使用的是symfony吗?版本? – jjoselon

+0

我没有使用交响乐。但是,我解决了我的问题。如果您好奇,请参考下面的答案! – Sefton419

回答我自己的问题 - 我猜测未定义的索引对于在自己的文件中测试实际的类不是一个致命的错误,但对于phpunit来说却是一个致命的错误。我只是在类文件中添加了条件检查以确定是否存在故障预置值,并且它修复了我的问题...:D