我正在尝试运行分组的 TestNG 测试。给定的 xml 是 testng.xml 中的一个测试:
<test name="demo test" preserve-order="true">
<groups>
<run>
<include name="openlogin"/>
<include name="login"/>
<include name="searchPatient"/>
<include name="scheduleBySearch" />
<include name="openDashboardFromPatientToday"/>
<include name="openPatientChart"/>
<include name="referralSearch"/>
<include name="referralNotes"/>
<include name="removeReferral"/>
<include name="nonExistingReferralSearch"/>
</run>
<dependencies>
<group name="removeReferral" depends-on="referralNotes"/>
<group name="referralNotes" depends-on="referralSearch"/>
<group name="referralSearch" depends-on="openPatientChart"/>
<group name="openPatientChart" depends-on="openDashboardFromPatientToday"/>
<group name="openDashboardFromPatientToday" depends-on="scheduleBySearch"/>
<group name="scheduleBySearch" depends-on="searchPatient" />
<group name="searchPatient" depends-on="login" />
<group name="login" depends-on="openlogin"/>
</dependencies>
</groups>
<classes>
<class name="xtr.webaut.sanitytests.LoginTests"/>
<class name="xtr.webaut.sanitytests.PatientSearchTest"/>
<class name="xtr.webaut.sanitytests.PatientScheduleTests"/>
<class name="xtr.webaut.sanitytests.PatientTodayTests"/>
<class name="xtr.webaut.sanitytests.PatientDashboardViewTests"/>
<class name="xtr.webaut.sanitytests.PatientChartReferralTests"/>
</classes>
</test>
这里有一个组“nonExistingReferralSearch”,我不想依赖于任何其他组。但我希望它以指定的顺序执行,并且我已将“保留顺序”设置为<test>
. 在执行时,我发现TestNG并没有按顺序执行非依赖组。它在组“openlogin”之后立即执行该组,而我希望它最终执行。
定义依赖关系并告诉 TestNG 保持执行顺序是错误的吗?是否定义了一个未知的优先级,TestNG 将首先执行任何非依赖测试/组,然后执行依赖测试?我希望它不是那么死板。
即使对于一个通用场景<test>
,是否不可能按顺序运行一些没有任何依赖关系的测试方法/组和一些具有依赖关系的测试方法/组?