Перейти к содержимому

Фотография

Test Suite как указать "далее запустить все остальные тесты"?

junit Suite

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 5

#1 Jukki

Jukki

    Новый участник

  • Members
  • Pip
  • 6 сообщений


Отправлено 19 марта 2017 - 20:46

Добрый день.

Хочу запустить только несколько тестов из скоупа в определенной последовательности (Spring + junit+maven)

 

Есть, условно:

App01Test.java

App02Test.java

...

AppNTest.java

 

Хочу запустить App03Test.javaApp04Test.javaApp05Test.java друг за другом, а остальные тесты - в произвольном порядке.

Тестов слишком много, чтобы перечислить их.

Подскажите, пожалуйста, как можно указать, что далее нужно запустить все остальные тесты ? 

Заранее спасибо!

 

@RunWith(Suite.class)

@Suite.SuiteClasses({ App03Test.class, App04Test.class, App04Test.class})
public class MyTestSuite extends TestCase {
}

В pom.xml задаю запуск через Suite

<properties>
    <runSuite>**/MyTestSuite.class</runSuite>
</properties>
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <configuration>
        <includes>
            <include>${runSuite}</include>
        </includes>
    </configuration>
</plugin>

  • 0

#2 Spock

Spock

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 20 марта 2017 - 08:45

можно перейти на TestNG, он больше предназначен для интеграционных тестов так как поддерживает зависимости между тестами (джейюнит в основном для юнит-тестов, так как там каждый тест считается независимым)

 

и использовать приоритеты:

@Test(priority=1)
public void Test1() {

}

@Test(priority=2)
public void Test2() {

}

@Test(priority=3)
public void Test3() {

}

  • 0

#3 Jukki

Jukki

    Новый участник

  • Members
  • Pip
  • 6 сообщений


Отправлено 20 марта 2017 - 09:14

Спасибо за ответ, но, к сожалению, это не вариант. Слишком много тестов, большая часть написана другими людьми


  • 0

#4 Spock

Spock

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 20 марта 2017 - 10:37

 

 

Спасибо за ответ, но, к сожалению, это не вариант. Слишком много тестов, большая часть написана другими людьми

если тесты сильно не привязаны к JUnit, то можно очень просто мигрировать на TestNG просто поменяв зависимость в пом-файле и импорты

 

по опыту джейюнит фреймворк легко заменяется на ТестЭнДжи (может быть например за 5 минут)

 

получается выбор: либо использовать Джейюнит и писать костыли, либо ТестЭнДжи


  • 0

#5 DmitriyQA

DmitriyQA

    Постоянный участник

  • Members
  • PipPipPip
  • 183 сообщений
  • ФИО:Коваленко Дмитрий Владимирович
  • Город:Tel Aviv

Отправлено 20 марта 2017 - 10:43

Мне кажется тут сейчас выдумывается велосипед.

Если я хочу последовательно ранить только несколько тестов - то ставлю аннотацию перед методом.

А вашем случае советую просто разделить тесты на 2 сьюта, первый будет иметь только 1 поток, а значит всегда запускаться последовательно, а остальные уже в потоках запускайте. 


  • 0

Senior QA/ Wix.com / qaacademy.net


#6 Raindrops

Raindrops

    Новый участник

  • Members
  • Pip
  • 23 сообщений

Отправлено 22 августа 2018 - 09:54

Мне кажется тут сейчас выдумывается велосипед.

Если я хочу последовательно ранить только несколько тестов - то ставлю аннотацию перед методом.

А вашем случае советую просто разделить тесты на 2 сьюта, первый будет иметь только 1 поток, а значит всегда запускаться последовательно, а остальные уже в потоках запускайте. 

Может быть подскажете как при такой конструкции, как у автора, запускать тест сьюты параллельно? 


  • 0



Темы с аналогичным тегами junit, Suite

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных