Java | Тесты
前往频道在 Telegram
Сайт: https://easyoffer.ru/ Все каналы: t.me/+xGeAw6ckJ4liYzQy Контакт для рекламы: @sendme_ads
显示更多5 432
订阅者
-124 小时
-267 天
-4630 天
帖子存档
5 430
🤔 Как нужно переопределять метод equals?
Метод equals нужно переопределять корректно и согласованно, соблюдая контракт:
- Рефлексивность: a.equals(a) — всегда true.
- Симметричность: a.equals(b) ⇔ b.equals(a).
- Транзитивность: если a.equals(b) и b.equals(c), то a.equals(c).
- Согласованность: повторный вызов не должен менять результат.
- null сравнение должно возвращать false.
Обычно сравниваются значимые поля, и всегда следует переопределять hashCode вместе с equals.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
5 430
🤔 Какое ключевое слово используется для обозначения метода, который должен быть переопределен в подклассе?
5 430
Заработайте 3000Р за рекомендацию счёта для бизнеса
Участвуйте в реферальной программе СберБизнеса и получите промокод на 3000 ₽ в Купер.
Как это работает:
✅ Вы делитесь ссылкой на открытие счёта для бизнеса;
✅ Друг открывает счёт и пользуется им;
✅ Через 2 месяца вы получаете промокод на 3000 ₽ в Купер, а друг – 3000 ₽ на открытый счёт.
Присоединяйтесь к реферальной программе СберБизнеса и зарабатывайте. Участвовать можно неограниченное количество раз.
Узнать больше
Финансовые услуги оказывает: ПАО Сбербанк.
#реклама
sberbank.com
О рекламодателе
5 430
🤔 Какой интерфейс необходимо реализовать, чтобы использовать объекты в конструкции try-with-resources?
5 430
🤔 Расскажи про race condition
Race condition возникает, когда несколько потоков или процессов читают и пишут общие данные, и конечный результат зависит от порядка их выполнения, что может привести к непредвиденным или ошибочным результатам
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
5 430
Бесплатное льготное обучение: 3 месяца
Ищем людей, которые хотят обучиться и работать в IT-сфере из дома
В конце обучения вы пройдете стажировку и устроитесь на работу с зп от 150.000 рублей
Образование, место жительства, трудовой стаж — не важны!
Для старта нужно:
— пройти короткий тест
— заполнить анкету
На что можно рассчитывать, после обучения:
✅ удаленная работа
✅ зп от 150.000 рублей (потолка нет)
✅ стабильная подработка, если не хотите уходить с основной работы
⚡ Осталось всего 47 бесплатных мест. Успейте пройти тест и оставить заявку:
Узнать больше
#реклама 16+
technolium.ru
О рекламодателе
5 430
🤔 Какой метод класса java.util.Map возвращает набор пар "ключ-значение"?
5 430
🤔 Какое выражение соответствует строке с буквой, затем пробелом, затем цифрой?
5 430
От чего зависит эффективность автотестов?
От их правильного написания и поддерживаемости!
В QA GURU учат приручать Java, чтобы ваши автотесты работали, как часы. Вот несколько лайфхаков, о которых мы расскажем на вводном занятии уже сегодня (20:00 Мск):
1. Используйте понятные и описательные названия тестов
Названия тестов должны четко отражать их цель. Это упрощает понимание кода всеми членами команды.
Например:
// Хорошо
public void verifyLoginWithValidCredentials() { ... }
// Плохо
public void test1() { ... }
Описательные названия помогают быстро понять, что проверяет тест, без необходимости изучения его внутренней логики.
2. Применяйте Page Object Model (POM)
Page Object Model позволяет отделить логику теста от структуры веб-страницы, что делает код более модульным и удобным для поддержки при изменениях интерфейса.
Пример использования:
// Класс
Page Object
public class LoginPage {
private By usernameField = By. id("username");
private By passwordField = By. id("password");
private By loginButton = By. id("loginBtn");
public void enterUsername(String username) {
driver.findElement(usernameField).sendKeys(username);
}
public void enterPassword(String password) {
driver.findElement(passwordField).sendKeys(password);
}
public void clickLoginButton() {
driver.findElement(loginButton).click();
}
}
// Тестовый сценарий
LoginPage loginPage = new LoginPage(driver);
loginPage.enterUsername("john.doe");
loginPage.enterPassword("password123");
loginPage.clickLoginButton();
POM способствует повторному использованию кода и улучшает читаемость тестов.
3. Используйте параметризацию и data-driven подход
Параметризованные тесты позволяют запускать один и тот же сценарий с различными входными данными, что увеличивает охват тестирования без дублирования кода.
@ ParameterizedTest
@ CsvSource({"john.doe, password123", "jane.smith, test@123"})
public void verifyLogin(String username, String password) {
LoginPage loginPage = new LoginPage(driver);
loginPage.enterUsername(username);
loginPage.enterPassword(password);
loginPage.clickLoginButton();
}
Этот подход делает тесты более гибкими и масштабируемыми.
4. Следуйте принципу AAA (Arrange, Act, Assert)
Структурируйте тесты в три этапа:
Arrange: подготовка данных и окружения.
Act: выполнение действия.
Assert: проверка результата.
Пример:
@ Test
public void testAddition() {
// Arrange
Calculator calculator = new Calculator();
// Act
int result = calculator.add(2, 3);
// Assert
assertEquals(5, result);
}
Этот подход делает тесты более организованными и легко читаемыми.
5. Логирование и отчетность
Добавляйте логирование в тесты для диагностики проблем:
log. info("Entering username: " + username);
log. info("Clicking on the login button");
Интеграция инструментов отчетности (например, Allure) помогает визуализировать результаты тестов и быстро выявлять ошибки.
6. Регулярные ревью кода
Проводите регулярные ревью автотестов для повышения качества кода. Это помогает выявить потенциальные проблемы, улучшить читаемость и обеспечить соблюдение стандартов кодирования.
7. Автоматизация и CI/CD
Используйте инструменты автоматизации (Maven, Gradle) для запуска тестов в рамках CI/CD пайплайнов. Это ускоряет процесс разработки и обеспечивает стабильность приложения на всех этапах.
Хотите узнать больше? Присоединяйтесь уже сегодня (20:00 Мск) к бесплатному открытому уроку!
🔗 Зарегистрируйтесь на первый открытый урок по ссылке!5 430
Стать бэкендером в Яндексе за несколько дней
12–17 апреля устраиваем Week Offer Backend: за несколько дней можно пройти технические секции и попасть в Яндекс. Для этого нужно зарегистрироваться и решить несколько задач в Контесте.
Ищем классных бэкенд-разработчиков с опытом работы от 3 лет на C++, Python, Java/Kotlin или Go, готовых работать в офисном или гибридном режиме в России.
Вы сможете выбрать одну из команд: Яндекс Пэй, Яндекс ID, Яндекс Плюс, Яндекс Сплит, Яндекс Сейвы, Яндекс 360. Можно пообщаться с нанимающими менеджерами и выбрать самый интересный проект. Если всё пройдёт хорошо, сразу же получите офер.
Зарегистрироваться
#реклама
yandex.ru
О рекламодателе
5 430
🤔 Какой класс используется для работы с потоками символов (character streams)?
5 430
🤔 С чем связана неполная объектно-ориентированность Java?
Java не является чисто ООП-языком, потому что:
- Имеет примитивные типы (int, double, char), не являющиеся объектами.
- Позволяет использовать статические методы и переменные, которые не принадлежат объектам.
- Поддерживает функциональное программирование (Lambda, Stream API).
Но Java следует ООП-подходу (инкапсуляция, наследование, полиморфизм).
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
5 430
Ищешь высокооплачиваемые проекты? Попробуй SkillStaff
SkillStaff — это платформа для ИТ-специалистов, менеджеров и креаторов, которым мало одного оклада. Здесь можно найти клиентов, выполнять их проекты и увеличивать свой доход.
- Проекты с гибким графиком: part time, full time, удаленка и гибрид
- Ставка за час работы — та, что ты сам выбрал
- Клиенты — ведущие бренды, проверенные с юридической точки зрения при регистрации на платформе
- Оплата поступает ежемесячно на расчетный счет исполнителя
- Удобный личный кабинет и функционал, автоматизирующий документооборот
Все, что нужно для работы — иметь статус самозанятого или ИП, а платформа поможет со всеми нюансами.
Регистрируйся прямо сейчас
Зарегистрироваться
#реклама 16+
skillstaff.ru
О рекламодателе
5 430
🤔 Какой метод функционального интерфейса Predicate используется для комбинирования нескольких предикатов?
5 430
Запустите рекламу в телеграм-каналах с Яндекс Директом
Перфоманс-реклама теперь в телеграм-каналах ⚡
Яндекс Директ знает, как привлечь целевую аудиторию 💰👌
Попробовать
#реклама
yandex.ru
О рекламодателе
5 430
🤔 Какой из следующих методов класса Files используется для чтения всех строк из файла?
5 430
🤔 Каким образом можем задавать параметры конфигурации GC?
Конфигурация сборщика мусора и управления памятью задается с помощью параметров JVM. Например:
- -XX:+UseG1GC — выбор конкретного GC.
- -Xms и -Xmx — минимальный и максимальный размер кучи.
- -XX:MaxGCPauseMillis — указание максимального времени паузы для сборщика мусора.
- -XX:NewRatio — настройка пропорции между размером молодой и старшей кучи.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
5 430
🤔 Какой из следующих классов предоставляет функциональность таймера?
5 430
+5
Теневой плинтус и микроплинтус для пола от Производителя
Теневые алюминиевые плинтусы - современный и стильный элемент декора, создайте уникальный и эстетичный интерьер в любом помещении. 🏠
Крепятся к стене и создают эффект "тени" на полу.
В наличии модели различных размеров и форм.
Теневые плинтусы с подсветкой и без.
Микроплинтус с подсветкой. Алюминиевый светодиодный плинтус.
Переходите на сайт, покупайте с доставкой по выгодным ценам оптом и в розницу!
Перейти на сайт
#реклама
safetystep.ru
О рекламодателе
