J'ai ajouté quelques tests à un nouveau projet Silverstripe, ils résident dans app/tests/
(app
est ce que j'ai renommé mysite
, _config.php
a également obtenu ce dans sa variable de $project
).Impossible d'obtenir des tests Silverstripe pour afficher les résultats
J'ai deux fichiers:
APHPUnitTest.php
class APHPUnitTest extends SapphireTest {
static $fixture_file = 'APHPUnitTest.yml';
public function testURLGeneration() {
$expectedURLs = array(
'home' => 'home',
'about' => 'about-us'
);
foreach($expectedURLs as $fixture => $urlSegment) {
$obj = $this->objFromFixture('Page', $fixture);
$this->assertEquals($urlSegment, $obj->URLSegment);
}
}
}
APHPUnitTest.yml
Page:
home:
Title: Home
about:
Title: About Us
Le test apparaît sur /dev/tests
, mais quand je le lance, je il suffit de voir l'en-tête:
APHPUnitTest
dev → tests → APHPUnitTest
et aucun résultat ... Je peux ajouter die;
à mon test .php
et ceux-ci arrêter la chargement de la page, de sorte que le fichier est en cours d'exécution bien, je ne suis pas sûr de savoir pourquoi cela ne fonctionne pas.
Lorsque je tente d'exécuter le test à partir de la ligne de commande, j'obtiens l'erreur class SapphireTest not found
. Les tests PHPUnit non-silverstripe s'exécutent correctement à partir de la ligne de commande.