2015-03-23 1 views
1

Je classe:Codecetion test Stub méthode statique

class Subscribe 
{ 
    public static function isSubscribe($email) 
    { 
     return true; 
    } 
} 

Mon test:

public static function testIsSubscribe() 
{ 
    $subscribe = new \Model\Subscribe(); 
    $object = Stub::make($subscribe, ['isSubscribe' => 'isSubscribe']); 
    $this->assertEquals('isSubscribe', $object->isSubscribe(['email' => '[email protected]'])); 
} 

Mais, tester la classe statique testIsSubscribe() me donner exception

PHPUnit_Framework_MockObject_BadMethodCallException:

+0

vous avez une faute d'orthographe dans le nom de la classe. Subsribe! = Abonnez-vous – wruckie

+0

Désolé pour la faute de frappe, mais ce n'est toujours pas le cas. Article dans https://sebastian-bergmann.de/archives/883-Stubbing-and-Mocking-Static-Methods.html, mais ne fonctionne pas phpunit v. 4.5 – itcoder

Répondre

2

Les méthodes statiques ne sont pas testées, elles devraient éviter d'écrire