Gradle 및 TestNG/JUnit을 사용하여 일종의 스트레스 테스트를 구현하고 싶습니다.TestNG 테스트를 여러 번 실행합니다.
JUnit에서 완벽하게 작동하는 https://stackoverflow.com/a/41650455이 발견되었지만 TestNG에서는 작동하지 않습니다. 내가 gradlew stressTestJUnit
을 실행하면
https://github.com/dhardtke/gradle-testng-stresstest
내가 제대로
JUnitTests > testNothing STANDARD_ERROR
I am a JUnit test!
JUnitTests > testNothing STANDARD_ERROR
I am a JUnit test!
JUnitTests > testNothing STANDARD_ERROR
I am a JUnit test!
JUnitTests > testNothing STANDARD_ERROR
I am a JUnit test!
JUnitTests > testNothing STANDARD_ERROR
I am a JUnit test!
을받을 수 있지만 gradlew stressTestTestNG
을 실행할 때 난 단지가 나타납니다 : 나는 내 문제를 보여주기 위해 작은 REPO을 만들어 이미
Gradle suite > Gradle test > TestNGTests.testNothing STANDARD_ERROR
I am a TestNG test!
I을 JUnit 테스트 대신 TestNG 테스트를 실행할 때 Gradle이 다르게 수행하는 방법을 알아 내려고했지만 시도 할 수 없었습니다 (아직) :
이build.gradle가 :
task testNG(type: StressTest) {
useTestNG() {
options.listeners << "core.test.TestNgStressTestListener"
environment "times", times
environment "stressTest", true
}
}
내 TestNgStressTestListener
클래스 :
@Override
public void alter(final List<XmlSuite> suites) {
final boolean stressTest = Boolean.parseBoolean(System.getenv("stressTest"));
if (stressTest) {
final int times = Integer.parseInt(System.getenv("times"));
final XmlSuite base = suites.get(0);
suites.clear();
final String baseName = base.getName();
for (int i = 0; i < times; i++) {
final XmlSuite copy = (XmlSuite) base.clone();
copy.setName(String.format("%s (%d)", baseName, i + 1));
suites.add(copy);
}
}
}