2010-11-18 5 views
1

Je suis en train d'écrire un petit morceau d'intégration à retrive les testcases de l'outil de gestion TestCase en java, dans lequel j'ai les scénarios suivants: -Check double en Java

1) J'ai testcase qui est « a échoué », cette fois-ci, je vérifie s'il y a un défaut qui existe déjà dans l'outil de gestion des défauts pour le test de test en échec utilisant le nom du test, car le nom du test et le nom du test sont les mêmes dans notre cas. Sinon, je suis en train d'enregistrer le nouveau défaut. C'est bon.

2) Dans un autre cas, j'ai un test qui est "Passé" pour la première fois, car je vérifie également s'il y a un défaut en double dans l'outil de gestion des défauts, même si je ne vais pas enregistrer tout défaut. Je le fais parce que, je ne sais pas si le test est "Pass" ou "Fail" dans la première tentative ou non. Par conséquent, je fais cette vérification obligatoire, pour voir si le défaut en double existe ou non à la fois pour le test de "réussite" et "échec". Je sais qu'il est erroné de vérifier l'existence du défaut du test de "réussite" en double. Mais il n'y a pas d'option que j'ai. Y a-t-il un moyen d'ignorer l'existence de la méthode du défaut si le test est "passé"? Je veux l'opinion de vos gars là-dessus.

C'est le code que j'ai: -

 private int NOT_TESTED = 0; 
    private int PASSED_1 = 0; 
    private int PASSED_2 = 0; 
    private int FAILED =0; 

    private String testStatus = "pass"; // will be fetched dynamically 
    private void execute(){ 
     if(testStatus.equalsIgnoreCase("fail")){ 
     //FAILED--; 
     FAILED = FAILED + 1; 
     System.out.println("the failed value is:"+FAILED); 
     }else if(testStatus.equalsIgnoreCase("pass")){// first attempt 
     PASSED_1 = PASSED_1 + 1; 
     System.out.println("the Passed_1 value is:"+PASSED_1); 
     if(PASSED_1 == 1){ 
     System.out.println("Passed in the first attempt, hence no need to create a defect"); 
     } 
     }else if(testStatus.equalsIgnoreCase("pass") && FAILED ==1){// second attempt 
     PASSED_2 = PASSED_2+1; 
     System.out.println("the Passed_2 value is:"+PASSED_2); 
     if(PASSED_2 ==1){ 
     System.out.println("Passed in the second attempt, create a defect"); 
     // logic to create a new defect 
     } 
     }else { 
     System.out.println("The test not tested"); 
     } 

} 

Ce code ne fonctionne pas comme il toujours aller au premier état passe de tentative, donc s'il vous plaît faire fournir une solution pour trouver si le testcase est passé dans la deuxième tentative (FAIL-> PASS) afin que nous puissions prendre des mesures appropriées à ce sujet.

Merci d'avance.

Répondre

0

si la condition (testStatus.equalsIgnoreCase("pass") && FAILED ==1) est vrai, cela signifie que la condition avant qu'il ne soit également vrai:

if(testStatus.equalsIgnoreCase("pass")) 

Depuis que vous avez utilisé if-else, il ira dans la première condition et ignorer le reste. La commutation entre ces deux vous donnera le résultat souhaité, je pense.