2017-12-07 3 views
0

ich PHPUnit 5.7.23 in meiner Klasse Compte verwenden gefunden, entwickle ich diesen Code in einer MethodePHPUnit: Klasse nicht

/** 
    * @covers Compte::method() 
    * @dataProvider entityToJsonData 
    */ 
    public function testMethod($data, $expected) 
    { 
     $this->object = $this->getMockBuilder('Compte') 
      ->getMock(); 

     $actualReponse = $this->object->method($data); 
     $this->assertEquals($expected, $actualReponse); 

    } 

PHP Anzeige dieser Fehlermeldung:

Fatal error: Class 'Compte' not found in CompteTest.php

Können Sie mir helfen ?

+0

Sie müssen auch den Namespace angeben, zB: 'Namespace \ Namespace2 \ Compte' –

+0

Registrieren Sie einen Autoloader in Ihrem PHPUnit Bootstrapping-Code? – iainn

+0

Verwenden Sie Namespaces wie von @ka_lin beschrieben – seboettg

Antwort

0

Sie haben Namespaces verwenden:

$this->object = $this->getMockBuilder('<Vendor>\<Component>\Compte') 
     ->getMock(); 

Alternativ können Sie auch eine bereits sichtbare Klasse (‚Verwendung‘ Erklärung über die Klassendeklaration) verwenden wie folgt:

<?php 
use <Vendor>\<Component>\Compte; 

class MyClassTest extends TestCase 
{ 
... 
    public function testMethod($data, $expected) 
    { 
     $this->object = $this->getMockBuilder(Compte::class) 
      ->getMock(); 
     ... 
    } 
... 
} 

Compte::class kehrt der Klassenname einschließlich seines Namensraums

+0

Ich entwickelte wie Ihren Code, aber es zeigte die Fehlermeldung an –

Verwandte Themen