2017-08-08 5 views
0

enter image description here S'il vous plaît noter que j'ai cherché cette question particulière & trouvé quelques-uns d'entre eux, mais aucun d'eux avait scénario lié à l'intégration de concombre.Exécuter en tant que TestNG n'est pas montré pour la classe extension AbstractTestNGCucumberTests

J'ai une classe de testeur qui étend AbstractTestNGCucumberTests.

J'ai aussi installé Plugin Eclipse TestNG et 6,12

également vous ajoutez une entrée sous TestNG sous Configuration Run, n'a pas aidé à résoudre le problème.

Mac + Eclipse 4.7.0

@CucumberOptions(features={"src/test/resources/WunderlistAndroid.feature"}, strict = false, format = { "pretty","json:target/cucumber.json" }, tags = { "[email protected]" }) 
    public class WLSignIn extends AbstractTestNGCucumberTests{ 
    @BeforeClass 
     public void launchAppiumServer(){ 
      //code doing desired action 
     } 

    @AfterClass 
     public void killAppiumServer(){ 
     //code doing desired action 
    } 

} 
+0

À quoi ressemble votre classe? Pouvez-vous s'il vous plaît fournir un échantillon de cela aussi? –

+0

@KrishnanMahadevan question mise à jour avec la classe d'échantillon, s'il vous plaît examiner – vikramvi

Répondre

2

Le problème est dû au fait que le plugin Eclipse TestNG ne voit aucune @Test méthodes dans votre classe. Je crois que le plugin est de nature contextuelle et montre donc le Run As > TestNG Test seulement quand il voit au moins une méthode @Test dans votre classe de test. Puisque la méthode @Test réside dans votre classe de base, le plugin ne le voit pas et par conséquent vous ne le voyez pas. Pour obtenir cela, vous pouvez peut-être ajouter une méthode de test fictive comme celle ci-dessous et qui devrait ramener à Run as > TestNG test l'option

@Test(enabled=false) 
public void dummyTestMethod() {} 

Sur une note de côté: Vous pouvez déposer cela comme un problème dans la TestNG project et voir si sa valeur se fixe.

Des détails qui peuvent être utilisés pour le bug:

Si la classe de base réside dans un pot (et a une ou plusieurs @Test méthodes d'essai annotées), le plug-in testng éclipse ne voit pas la classe enfant (WLSignIn) la première fois. Mais après l'ajout d'une méthode @Test désactivée à la classe enfant (WLSignIn), l'option s'affiche. Cela se produit indépendamment de savoir si la classe enfant s'étend d'une autre classe dans le même projet ou d'une autre classe qui réside dans un pot (dans votre cas cucumber.api.testng.AbstractTestNGCucumberTests)

+0

Merci Krishnan pour la clarification détaillée et la solution de contournement. Il a fait l'affaire. J'ai aussi ouvert https://github.com/cbeust/testng-eclipse/issues/349. – vikramvi

+0

le problème est résolu dans le canal bêta de TestNG Eclipse Plugin: http://dl.bintray.com/testng-team/testng-eclipse/updatesites/6.12.0.201710150301/ –