Как TestNG определяет порядок выполнения тестов в группах, когда я не использую такие функции, как dependonGroup = X или priority = X?Что контролирует порядок групповых тестов в TestNG?
Короче говоря, я смотрел на этом испытательном полигоне:
http://www.tutorialspoint.com/testng/testng_group_test.htm
вырезать и вставить строки для 3-файлы примеров, чтобы играть вокруг с и попытаться понять TestNG и групповые тесты. Когда я его запускал, результат соответствовал тому, что сказал сайт.
Хорошие результаты:
Inside testPrintMessage()
.com
Inside testExitMessage()
www..com
===============================================
Suite1
Total tests run: 2, Failures: 1, Skips: 0
===============================================
Следующая вещь, которую я сделал, я думал, что я убирала код и фиксируя опечатка, который дал мне странный результат. Из GroupTestExample.java я изменил метод testExitMessage на testExitMessage. Я не знаю, как 3 буквы могут изменить порядок запуска тестов.
Плохие результаты - Посмотрите, как порядок тестируемых функций местами, которые повлияли на количество отказов
Inside testExitMessage()
www..com
Inside testPrintMessage()
www..com
===============================================
Suite1
Total tests run: 2, Failures: 2, Skips: 0
===============================================
Может кто-нибудь объяснить мне, что могло произойти, почему изменения имени метода сделал заказ изменения теста?
MessageUtil.java
/*
* This class prints the given message on console.
*/
public class MessageUtil {
private String message;
// Constructor
// @param message to be printed
public MessageUtil(String message) {
this.message = message;
}
// prints the message
public String printMessage() {
System.out.println(message);
return message;
}
// add "tutorialspoint" to the message
public String salutationMessage() {
message = "tutorialspoint" + message;
System.out.println(message);
return message;
}
// add "www." to the message
public String exitMessage() {
message = "www." + message;
System.out.println(message);
return message;
}
}
Хорошо GroupTestExample.java
public class GroupTestExample {
String message = ".com";
MessageUtil messageUtil = new MessageUtil(message);
@Test(groups = { "functest", "checkintest" })
public void testPrintMessage() {
System.out.println("Inside testPrintMessage()");
message = ".com";
Assert.assertEquals(message, messageUtil.printMessage());
}
@Test(groups = { "checkintest" })
public void testSalutationMessage() {
// Removed code since this method wasn't the problem method
}
@Test(groups = { "functest" })
public void testingExitMessage() {
System.out.println("Inside testExitMessage()");
message = "www." + "tutorialspoint"+".com";
Assert.assertEquals(message, messageUtil.exitMessage());
}
}
testng.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Suite1">
<test name="test1">
<groups>
<run>
<include name="functest" />
</run>
</groups>
<classes>
<class name="GroupTestExample" />
</classes>
</test>
</suite>
«Bad» GroupTestExample.java
// same code as above except I changed this method from testingExitMessage to
// testExitMessage b/c that's what the println msg shows and I thought I was
// fixing a typo.
public void testExitMessage() {
System.out.println("Inside testExitMessage()");
message = "www." + "tutorialspoint"+".com";
Assert.assertEquals(message, messageUtil.exitMessage());
}
В отличие от сайтов форума, мы не используем «Спасибо» или «Любая помощь приветствуется», или подписи на [так]. См. «[Должны ли« Привет »,« спасибо », теги и приветствия удалены из сообщений?] (Http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be -removed-from-posts). –