2017-08-30 2 views
0

I ont une structure de dossiers de test comme:Les tests échouent avec n'a pas pu être trouvé "Navigateur de classe"

. 
├── test 
│ └── e2e 
│  ├── pages 
│  │ └── LoginPage.php 
│  └── webdriver 
│   └── Browser.php 
└── vendor 

Quand je lance

$ vendor\bin\phpunit --bootstrap vendor/autoload.php test\e2e\HomePage.php 

le test échoue avec

Fatal error: Uncaught PHPUnit\Runner\Exception: Class 'Browser' could not be found in 'C:\Users\rburton\code\MyAgsourceAPI\test\e2e\HomePage.php'. in C:\Users\rburton\code\MyAgsourceAPI\vendor\phpunit\phpunit\src\Runner\StandardTestSuiteLoader.php on line 101 

PHPUnit\Runner\Exception: Class 'Browser' could not be found in 'C:\Users\rburton\code\MyAgsourceAPI\test\e2e\HomePage.php'. in C:\Users\rburton\code\MyAgsourceAPI\vendor\phpunit\phpunit\src\Runner\StandardTestSuiteLoader.php on line 101 

Call Stack: 
    0.1973  357496 1. {main}() C:\Users\rburton\code\MyAgsourceAPI\vendor\phpunit\phpunit\phpunit:0 
    0.2024  746904 2. PHPUnit\TextUI\Command::main(???) C:\Users\rburton\code\MyAgsourceAPI\vendor\phpunit\phpunit\phpunit:53 
    0.2024  750064 3. PHPUnit\TextUI\Command->run(array(4), true) C:\Users\rburton\code\MyAgsourceAPI\vendor\phpunit\phpunit\src\TextUI\Command.php:141 
    0.2077 1007320 4. PHPUnit\TextUI\TestRunner->getTest(string(17), string(57), array(2)) C:\Users\rburton\code\MyAgsourceAPI\vendor\phpunit\phpunit\src\TextUI\Command.php:162 
    0.2078 1007320 5. PHPUnit\TextUI\TestRunner->loadSuiteClass(string(17), string(57)) C:\Users\rburton\code\MyAgsourceAPI\vendor\phpunit\phpunit\src\Runner\BaseTestRunner.php:73 
    0.2084 1026680 6. PHPUnit\Runner\StandardTestSuiteLoader->load(string(7), string(57)) C:\Users\rburton\code\MyAgsourceAPI\vendor\phpunit\phpunit\src\Runner\BaseTestRunner.php:130 

Le seul endroit où j'instancie la classe Browser est dans la configuration de la classe de test HomePage:

protected function setUp() 
{ 
    $this->browserDriver = new Browser(); 

    $this->browserDriver->start('https://192.168.3.69'); 
} 

Ce qui me déconcerte est que l'erreur indique que le StandardTestSuiteLoader n'a pas pu trouver la classe Browser plutôt que dans la classe de test où la classe est instancié.

Est-ce que quelqu'un a des idées pour lesquelles la classe auxiliaire ne peut pas être trouvée? Je ressemble à du sélénium dans la bibliothèque PHPUnit ne peut pas être empaqueté comme un cadre.

+1

Est-ce que vous incluez (ou plutôt 'require') 'Browser.php'? – GolezTrol

+0

Pouvez-vous partager la configuration d'auto-chargement de votre 'composer.json'? – localheinz

+0

La classe de navigateur est incluse en tant que require_once __DIR__. "/webdriver/Browser.php"; –

Répondre

0

Depuis, je suis passé aux bibliothèques de sélénium pour C# et Java.