Size: a a a

QA — Автоматизация

2020 December 13

SL

Sergey Lucky in QA — Автоматизация
Dmitry
Тестовые классы и ресурсы (src/test/java и src/test/resources) по-умолчанию не пакуются в джар.
Можно или перенести все классы и ресурсы в src/main, или в гредле указать src/test как дополнительный путь к классам: https://stackoverflow.com/questions/31077844/add-another-java-source-directory-to-gradle-script/31078965
Да, я так и сделал, а потом искусственно поменял манифест и он все равно не находит это класс который находиться в test
источник

SL

Sergey Lucky in QA — Автоматизация
Dmitry
Тестовые классы и ресурсы (src/test/java и src/test/resources) по-умолчанию не пакуются в джар.
Можно или перенести все классы и ресурсы в src/main, или в гредле указать src/test как дополнительный путь к классам: https://stackoverflow.com/questions/31077844/add-another-java-source-directory-to-gradle-script/31078965
Почитал, ссылку, попробую по ней, делал чуть по-другому, большое спасибо за ответ
источник

D

Dmitry in QA — Автоматизация
Sergey Lucky
Да, я так и сделал, а потом искусственно поменял манифест и он все равно не находит это класс который находиться в test
Вообще в гредле есть несколько вариантов упаковки тестов в джар: https://www.google.com/search?q=gradle+package+jar+with+tests.
Я делал такое через мавен, просто запихнув все тесты в src/main
источник

SL

Sergey Lucky in QA — Автоматизация
Dmitry
Вообще в гредле есть несколько вариантов упаковки тестов в джар: https://www.google.com/search?q=gradle+package+jar+with+tests.
Я делал такое через мавен, просто запихнув все тесты в src/main
А в main если перенести тесты то как они работали? Аннотация тест там работает?
источник

D

Dmitry in QA — Автоматизация
Sergey Lucky
А в main если перенести тесты то как они работали? Аннотация тест там работает?
Если для всех зависимостей вместо test скоупа сделать дефолтный, то работает.

Типа вместо
testCompile group: 'junit', name: 'junit', version: '4.13.1'
сделать
compile group: 'junit', name: 'junit', version: '4.13.1'
источник

SL

Sergey Lucky in QA — Автоматизация
Dmitry
Если для всех зависимостей вместо test скоупа сделать дефолтный, то работает.

Типа вместо
testCompile group: 'junit', name: 'junit', version: '4.13.1'
сделать
compile group: 'junit', name: 'junit', version: '4.13.1'
Ого! Ничосе) я забыл про эту тему, блин огромное человеческое спасибо тебе)
источник

D

Dmitry in QA — Автоматизация
Sergey Lucky
Ого! Ничосе) я забыл про эту тему, блин огромное человеческое спасибо тебе)
👌
источник

AV

Alexei Vinogradov in QA — Автоматизация
Сейчас (последние лет 15) как-то не модно тесты через main класс запускать.
источник

MK

Mem Kekovich in QA — Автоматизация
Alexei Vinogradov
Сейчас (последние лет 15) как-то не модно тесты через main класс запускать.
А через что модно?
источник

SM

Sewa Makhinya in QA — Автоматизация
Mem Kekovich
А через что модно?
JUnit какой-нибудь
или Cucumber
источник

MK

Mem Kekovich in QA — Автоматизация
Sewa Makhinya
JUnit какой-нибудь
или Cucumber
А как в джарниках тесты по вашему запускаются?
источник

D

Dmitry in QA — Автоматизация
В последние 15 лет и юзкейсы появились поинтереснее, чем запуск селениума с дженкинса🌝
источник

SM

Sewa Makhinya in QA — Автоматизация
Mem Kekovich
А как в джарниках тесты по вашему запускаются?
запускается JUnit, он дёргает за нужные мне методы
источник

А

Алексей in QA — Автоматизация
Alexei Vinogradov
Сейчас (последние лет 15) как-то не модно тесты через main класс запускать.
Типовые селениум - скорее всего да. Специфичные - вполне могут запускаться и мэйном
источник

MK

Mem Kekovich in QA — Автоматизация
Алексей
Типовые селениум - скорее всего да. Специфичные - вполне могут запускаться и мэйном
Ну и то решается докер компоузом )
источник
2020 December 14

AV

Alexei Vinogradov in QA — Автоматизация
Dmitry
В последние 15 лет и юзкейсы появились поинтереснее, чем запуск селениума с дженкинса🌝
Интрига прямо. А какие сейчас интересные юскейсы для запуска автотестов?
источник

D

Dmitry in QA — Автоматизация
Alexei Vinogradov
Интрига прямо. А какие сейчас интересные юскейсы для запуска автотестов?
У меня было два нестандартных: запуск тестов в EMR кластере и запуск тестов в Apache Airflow, на экзекьюторах которого не было мавена (приложения билдятся дженкинсом, запускаются в эирфлоу).
Второй юзкейс можно решить установкой мавена на экзекьюторы (но не с моим заказчиком, лол), первый - никак, только паковать тесты в джарник и запускать кукумбер из мейнкласса
источник

D

Dmitry in QA — Автоматизация
Dmitry
У меня было два нестандартных: запуск тестов в EMR кластере и запуск тестов в Apache Airflow, на экзекьюторах которого не было мавена (приложения билдятся дженкинсом, запускаются в эирфлоу).
Второй юзкейс можно решить установкой мавена на экзекьюторы (но не с моим заказчиком, лол), первый - никак, только паковать тесты в джарник и запускать кукумбер из мейнкласса
Docker compose тоже не поможет)
источник

AV

Alexei Vinogradov in QA — Автоматизация
Dmitry
У меня было два нестандартных: запуск тестов в EMR кластере и запуск тестов в Apache Airflow, на экзекьюторах которого не было мавена (приложения билдятся дженкинсом, запускаются в эирфлоу).
Второй юзкейс можно решить установкой мавена на экзекьюторы (но не с моим заказчиком, лол), первый - никак, только паковать тесты в джарник и запускать кукумбер из мейнкласса
Я не знаю, что такое EMR кластер и AirFlow, но пока что звучит как "нас просили забить гвозди, но забрали молоток"-челлендж. Бывает, конечно))

В принципе у JUnit 4/5 должны быть свои раннеры, для которых не нужен maven/gradle. Впрочем ими обычно никто не пользуется, потому что всё равно проще всё запускать через maven/gradle, раз они все равно в проекте используются
источник

D

Dmitry in QA — Автоматизация
Alexei Vinogradov
Я не знаю, что такое EMR кластер и AirFlow, но пока что звучит как "нас просили забить гвозди, но забрали молоток"-челлендж. Бывает, конечно))

В принципе у JUnit 4/5 должны быть свои раннеры, для которых не нужен maven/gradle. Впрочем ими обычно никто не пользуется, потому что всё равно проще всё запускать через maven/gradle, раз они все равно в проекте используются
> звучит как "нас просили забить гвозди, но забрали молоток"-челлендж.

Звучит как требование «сведите мою задачу к запуску селениум тестов мавеном» к своим проектам/заказчикам😀 Я и говорю о том, что есть кейсы, с которыми абсолютное большинство тестировщиков не сталкивались и никогда не столкнутся. И не призываю всех переходить на запуск тестов из джарников

> у JUnit 4/5 должны быть свои раннеры, для которых не нужен maven/gradle

Они есть, но задачу с EMR они никак не решают. Но, кроме того, у большинства фреймворков есть стандартная возможность быть запущенными из мейн класса
источник