Skip to content
Extraits de code Groupes Projets
Valider 52957724 rédigé par diosmosis's avatar diosmosis
Parcourir les fichiers

If a test case class or fixture class is supplied in...

If a test case class or fixture class is supplied in TestingEnvironmentManipulator and cannot be autoloaded, throw an exception so some hard to debug test failures can be avoided.
parent 583efa8c
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -140,7 +140,7 @@ class TestingEnvironmentManipulator implements EnvironmentManipulator ...@@ -140,7 +140,7 @@ class TestingEnvironmentManipulator implements EnvironmentManipulator
$diConfigs = array($testVarDefinitionSource); $diConfigs = array($testVarDefinitionSource);
if ($this->vars->testCaseClass) { if ($this->vars->testCaseClass) {
$testCaseClass = $this->vars->testCaseClass; $testCaseClass = $this->vars->testCaseClass;
if (class_exists($testCaseClass)) { if ($this->classExists($testCaseClass)) {
$testCase = new $testCaseClass(); $testCase = new $testCaseClass();
// Apply DI config from the fixture // Apply DI config from the fixture
...@@ -159,7 +159,7 @@ class TestingEnvironmentManipulator implements EnvironmentManipulator ...@@ -159,7 +159,7 @@ class TestingEnvironmentManipulator implements EnvironmentManipulator
} else if ($this->vars->fixtureClass) { } else if ($this->vars->fixtureClass) {
$fixtureClass = $this->vars->fixtureClass; $fixtureClass = $this->vars->fixtureClass;
if (class_exists($fixtureClass)) { if ($this->classExists($fixtureClass)) {
$fixture = new $fixtureClass(); $fixture = new $fixtureClass();
if (method_exists($fixture, 'provideContainerConfig')) { if (method_exists($fixture, 'provideContainerConfig')) {
...@@ -222,4 +222,16 @@ class TestingEnvironmentManipulator implements EnvironmentManipulator ...@@ -222,4 +222,16 @@ class TestingEnvironmentManipulator implements EnvironmentManipulator
return $plugins; return $plugins;
} }
private function classExists($klass)
{
if (class_exists($klass)) {
return true;
} else if (empty($klass)) {
return false;
} else {
throw new \Exception("TestingEnvironmentManipulator: Autoloader cannot find class '$klass'. "
. "Is the namespace correct? Is the file in the correct folder?");
}
}
} }
\ No newline at end of file
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter