У меня есть много файлов модульных тестов, как я могу избежать запуска нескольких классов модульных тестов, которые Spring будет запускать несколько раз (запустить Spring один раз, запустить несколько тестовых файлов)
Я использую testng для модульного тестирования SpringBoot Я создал BaseTest для установки необходимой конфигурации. Каждый тестовый класс расширяет этот BaseTest.
BaseTest ::
package comTest;
import ...;
@SpringBootTest(classes = Application.class)
@WebAppConfiguration
@Rollback(value = false)
@TestExecutionListeners(listeners = MockitoTestExecutionListener.class)
public class BaseTest extends AbstractTransactionalTestNGSpringContextTests {
}
UT class ::
package comTest.testDemo;
import ...;
public class TotalTest extends BaseTest {
@Test
....
}
====================================================
package comTest.testDemo;
import ...;
public class ControllerTest extends BaseTest {
@Test
....
}
testng. xml ::
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="All Test Suite">
<test verbose="2" preserve-order="true" name="demo">
<classes>
<class name="comTest.testDemo.ControllerTest">
</class>
<class name="comTest.testDemo.TotalTest">
</class>
</classes>
</test>
</suite>
когда я запускаю этот testng.xml
, консоль возвращает следующие результаты: *
У меня есть два тестовых класса, которые наследуют BaseTeat, так что пружина запускается дважды, что значительно замедляет время выполнения теста. Необходимо расширить BaseTest в моих модульных тестах.
Как мне добиться, чтобы все тестовые классы можно было запустить только один раз, загрузив пружину.