Question

J'ai essayé de comprendre comment exécuter des tests paramétrés en junit4 avec PowerMock. Le problème est que pour utiliser PowerMock dont vous avez besoin pour décorer votre classe de test avec

@RunWith(PowerMockRunner.class)

et d'utiliser des tests paramétrés vous devez décorer avec

@RunWith(Parameterized.class)

D'après ce que je peux voir, ils semblent mutuellement exclus !? Est-ce vrai? Y at-il moyen de contourner cela? J'ai essayé de créer une classe paramétrés dans une course de classe avec PowerMock; quelque chose comme ceci:

@RunWith(PowerMockRunner.class)
class MyTestClass {
     @RunWith(Parameterized.class)
     class ParamTestClass {
          // Yadayada
     }
}

Mais malheureusement, cela ne fait pas beaucoup de bien ... Le ParamTestClass ne fonctionne toujours pas avec le soutien de PowerMock (pas étonnant peut-être) ... Et je suis à court de genre d'idées de sorte que toute aide est grandement appréciée

Mise à jour: Pour l'avenir Googlers voir aussi: En utilisant PowerMock sans le RunWith

Était-ce utile?

La solution

J'ai eu le même problème. Malheureusement, il ne me laisse pas utiliser une règle de PowerMock en raison de la machine virtuelle Java que j'avais. Au lieu de la règle je RunnerDelegate.

@RunWith(PowerMockRunner.class)
@PowerMockRunnerDelegate(Parameterized.class)

Autres conseils

Oui, cela fonctionne en utilisant le PowerMock Règle disponible si vous utilisez JUnit 4.7+ .

Vous ne pouvez pas utiliser deux coureurs de classe à la fois, vous aurez certainement écrire votre propre lanceur de test pour y arriver.

Je ne sais pas quoi que ce soit au sujet Powermock, mais au bout de 10 secondes de recherche, il semble que une solution serait d'écrire un coureur de test qui utilise le chargeur de classes de powermock et exécute des tests paramétrés. Si vous pouvez comprendre comment déléguer au coureur de test paramétrés à partir de votre coureur de test personnalisé, qui pourrait être votre meilleur pari.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top