2016-10-18 1 views
0

J'utilise la codeception 2.2.5 a et Yii 1.1.4 J'ai un problème avec le module Yii1. Je l'ai configuré pour les tests fonctionnels et de l'unitéCodeception avec module activé Yii1

Voici le functional.suite.yml

class_name: FunctionalTester 
modules: 
    enabled: 
     - Yii1: 
      appPath: 'www/test.php' 
      url: 'http://localhost/test.php' 
      part: init 
     - PhpBrowser: 
      url: 'http://localhost/index-test.php' 
     - \Helper\Functional 
coverage: 
    enabled: true 
    remote: false 

Voici le unit.suite.yml

class_name: UnitTester 
modules: 
    enabled: 
     - Asserts 
     - Yii1: 
      appPath: 'www/test.php' 
      url: 'http://localhost/test.php' 
     - \Helper\Unit 

Quand je lance les essais séparément tout fonctionne très bien. par exemple.

php codecept.phar run functional --xml --html 
php codecept.phar run unit --xml --html 

Quand je lance tous ensemble

php codecept.phar run --xml --html 

Il court le fonctionnement sans problème relié au module Yii1. Et sur l'unité, il apporte

[Codeception\Exception\ModuleConfigException]      
    Yii1 module is not configured!          

    Couldn't load application config file www/test.php     
    Please provide application bootstrap file configured for testing 

L'objectif principal de courir tous ensemble est la couverture de code.

Répondre

0

Voici la réponse à mon problème:

J'ai créé un module séparé Yii1Ext (Yii1Ext.php) qui s'étend au module Yii1:

namespace Helper; 

use Codeception\Module\Yii1; 

class Yii1Ext extends Yii1 
{ 
    public function _initialize() 
    { 
     $this->config['appPath'] = FRONTEND.'/'.$this->config['appPath']; 
     parent::_initialize(); 
    } 
} 

Et dans les fichiers de configuration ont le module Yii1Ext a permis à la place du module Yii1

class_name: FunctionalTester 
modules: 
    enabled: 
     - \Helper\Yii1Ext: 
      appPath: 'www/test.php' 
      url: 'http://localhost/test.php' 
      part: init 
     - PhpBrowser: 
      url: 'http://localhost/' 

Remarque: Assurez-vous que toutes les variables définies dans Yii sont définis par la déclaration

defined('ROOT_DIR') or define('ROOT_DIR', realpath(__DIR__ . '/../'));