2013-10-14 10 views
5

Ich habe versucht, Codeception für mein Symfony2-Projekt einzurichten, das bereits 4 Working-Bundles und ihre PHPUnit-Testfälle hat. Nun wollte ich Codeception-Testfälle hinzufügen, besonders für Akzeptanztests, aber als ich die Codeception "bootstrappte", fand ich den generierten Code in meiner Hauptstruktur. Da meine Bewerbung bereits in Bundles organisiert ist, wollte ich das Konzept auch für meine Testfälle behalten. Zumal ich meine PHPUnit-Testfälle bereits in meinen Bundles habe. Die offizielle s2-Codeception deckt das nicht wirklich ab. Also für mich einige Fragen:Bundle-Setup innerhalb der Codeception

  1. So richten Sie codeception, dass es funktioniert in meinem Bündel
  2. Wie kann ich lief mit einem Befehl alle meine vorhandenen PHPUnit Testfälle und meine codeception Testfälle?

Antwort

2

Ich habe das nur in ähnlicher Weise eingerichtet.

codeception hat einen Schalter -c, die das tun, was Sie brauchen, d.h .:

vendor/bin/codecept bootstrap src/Acme/ExampleBundle 

und dann:

vendor/bin/codecept run -c src/Acme/ExampleBundle 

ich über Ihre zweite Frage nicht kennen. Zumindest für Komponententests war das Konvertieren in Codeception-Tests trivial, zumal meine Tests allesamt aus einer abstrakten Klasse stammen, also dauerte es vielleicht 10 Zeilen Veränderung, meistens Setup-Sachen.

+0

Sie könnten auch die folgenden Zeilen an der Wurzel hinzufügen 'codeception.yml' statt Datei mit um jedesmal die '-c'-Flagge zu spezifizieren: 'include: - src/Acme/ExampleBundle' dann einfach" vendor/bin/codecept run "wie gewohnt ausführen. Es wird die "codeception.yml" -Konfiguration des Pakets finden und alle Tests in demselben Lauf einschließen. – teaforchris

2

@Tom Das funktioniert nicht, weil das Symfony2-Modul nach der bootstrap.php.cache-Datei sucht, die sich noch im Root-Verzeichnis Ihrer symfony2-App befindet! Meine Lösung hierfür ist, einen Link in Ihrem Bundle zu Ihrer App/Ihrem Ordner zu erstellen! als es funktionieren wird!

In {your-root}/src/{your-app}/{Ihr Bündel}:

ln -s ../../../app . 
Verwandte Themen