2017-10-12 4 views
0

Ich versuche, meine Nachrichtenklasse zu testen, aber wenn ich phpunit laufen bekomme ich drei Fehler in der Konsole:phpunit Fragen neue Klasse für die Prüfung der Instanziierung - „Fehler beim Laden der Klassendatei“ für unabhängige Klassen

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 

Der Fehler liegt vor, wenn ich die Message-Klasse instanziiere, die völlig unabhängig von den Klassen im Fehlerprotokoll ist, und sie funktioniert perfekt in der Klassendatei, wenn ich sie auf dieselbe Weise instanziiere. Was mache ich falsch?

Auch die anderen drei Fehler unter dem Hinweis auf die Nachrichtenklassendatei sind nicht-fatale Fehler über einen leeren Wert, der in einem Array nicht vorhanden ist, also glaube ich nicht, dass mein Ärger da ist.

Hier meine Unit-Test-Datei ist:

<?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); 
    } 
} 




?> 

Auch instanziiert ich die Meldung Objekt in dem von dieser anderen Stack-Überlauf Post vorgeschlagen Weg:

PHPUnit: include class after mocking it

+0

verwenden Sie symfony? Ausführung ? – jjoselon

+0

Ich verwende keine Symphonie. Allerdings habe ich mein Problem gelöst. Beziehen Sie sich auf die Antwort unten, wenn Sie neugierig waren! – Sefton419

Antwort

0

meine eigene Frage beantwortet - Ich denke, der undefinierte Index war kein schwerwiegender Fehler beim Testen der eigentlichen Klasse in seiner eigenen Datei, aber es war ein schwerer Fehler für phpunit. Ich habe gerade eine bedingte Prüfung hinzugefügt, ob der Fallback-Wert in der Klassendatei existiert, und mein Problem wurde behoben ...: D

Verwandte Themen