Open DareyBlitz opened 3 months ago
Добрый день
На будущее, подобные вопросы лучше пишите в дискорд, так проблема решится быстрее.
Судя по всему, у вас проблема с подключением к БД. Чтобы понять это наверняка, хотелось бы увидеть скриншот логов с ошибками, которые возникают в процессе запуска тестов
У вас в п.8 команда Запустить тесты: .\gradlew clean test -DdbUrl=jdbc:mysql://localhost:3306/app
, вы передаете параметр dbUrl, а на самом деле в build.gradle у вас зарегистрирован параметр с именем db.url и такой же параметр используется в коде. Попробуйте запустить тесты, передавая тот же параметр, который у вас используется в коде
Для понимания приложу описание того, как вообще работают эти параметры:
Приложение. У вас в application.properties заданы параметры для подключения к БД. Также, эти параметры можно задать другим способом - в командной строке. Чтобы не изменять код, но поменять параметры подключения мы просто запускаем приложение с использованием обновленных параметров (точно с такими же именами как в файле) - java -Dspring.datasource.url=jdbc:postgresql://localhost:5432/kuularbase -Dspring.datasource.username=kuular -Dspring.datasource.password=12345v -jar aqa-shop.jar. Иногда в windows нужно добавить кавычки - java "-Dspring.datasource.url=jdbc:postgresql://localhost:5432/kuularbase" "-Dspring.datasource.username=kuular" "-Dspring.datasource.password=12345v" -jar aqa-shop.jar
С тестами чуть больше действий. а) определить переменные окружения в build.gradle аналогично тому, как у вас определена selenide.headless. Именовать новые параметры можете как угодно б) В коде, чтобы получить значения этих переменных, мы делаем так - var value = System.getProperty("your.parameter"); в) а передаем значения этих переменных так же в командной строке - ./gradlew test -Dyour.parameter=your_value. Новые переменные можете именовать как угодно, важно, чтобы имена в командной строке, в файле build.gradle и в коде совпадали. И последнее: для этих переменных можно задать в build.gradle значения по умолчанию, они будут применяться, если в командной строке параметры не переданы или если вы запускаете тесты не из терминала, а кнопкой в ide. Выглядит в build.gradle это так - systemProperty 'your.parameter', System.getProperty('your.parameter', "default_value")
Описание
Не запускаются тесты. Все падают.
Шаги воспроизведения
MarraKash-V2
в IntelliJ IDEA.docker-compose up
.java "-Dspring.datasource.url=jdbc:mysql://localhost:3306/app" -jar artifacts/aqa-shop.jar.
java -jar artifacts/aqa-shop.jar.
Ожидаемый результат: Часть тестов падает, часть тестов проходят успешно. Фактический результат: все тесты падают.
Скриншот
Окружение
Операционная система: Windows 11 Pro; IDE: IntelliJ IDEA Community Edition 2023.2.7: Java: Java version 11.0.20.