Similar presentations:
Maven. Lesson 2. Онлайн-образование
1.
Онлайн-образование2.
Не забыть включить запись!3.
Меня хорошо видно && слышно?Ставьте + , если все хорошо
Напишите в чат, если есть проблемы
4.
Настраиваем окружение, пишем первый тестКартушин Антон Юрьевич
Ведущий специалист по тестированию
ООО “ТСК”
[email protected]
5.
Правила вебинараАктивно участвуем
Задаем вопрос в чат или голосом
Off-topic обсуждаем в Slack #канал группы или #general
Вопросы вижу в чате, могу ответить не сразу
6.
Маршрут вебинараMaven
Создаем многомодульный проект
Тестовые фреймворки
Логирование
7.
Маршрут вебинараПишем первый тест
Интеграция с Git
.gitignore
Использование owner
Рефлексия
8.
Maven9.
MavenApache Maven is a software project management and comprehension tool
Мавен - это инструмент для сборки Java проекта: компиляции, создания
jar, создания дистрибутива программы,
генерации документации.
POM + repository + mvn
9
10.
Lifecycleclean
mvn clean verify
validate
compile
test
package
verify
Install
site
1.
2.
3.
4.
5.
6.
clean
validate
compile
test
package
verify
deploy
1
0
11.
POM1
1
12.
Зависимости1
2
13.
Создаем многомодульный проект14.
Создаем многомодульный проектПредварительно должен быть установлен и настроен maven и git!
1.
Создать maven-проект
2.
В нем создать два модуля tests-junit и tests-testng
3.
В модули добавить зависимости jUnit для первого и TestNG для
второго
4.
Создать третий модуль model
5.
Импортировать model в модули tests-junit и tests-testng
1
4
15.
Тестовые фреймворки16.
ФрейворкиJUnit4 - https://junit.org/junit4/
JUnit5 - https://junit.org/junit5/
TestNG
Основные преимущества
• Распараллеливание
• Генерация отчетов
17.
JUnit418.
TestNG19.
JUnit520.
Группировка тестов• JUnit4
• JUnit5
• TestNG
21.
Параметризированные тесты (JUnit4)@RunWith(Parameterized.class)
public class NumbersTest {
@Parameterized.Parameters
public static Collection<Object[]> data() {
return Arrays.asList(new Object[][]{
{0, 0}, {1, 1}, {2, 1}, {3, 2}, {4, 3}, {5, 5}, {6, 8}
});
}
private int fInput;
private int fExpected;
public NumbersTest(int input, int expected) {
this.fInput = input;
this.fExpected = expected;
}
@Test
public void test() {
assertEquals(fExpected, fInput);
}
}
22.
Параметризированные тесты• JUnit5
• TestNG
23.
AssertJUnit4
TestNG
JUnit5
assertEquals/assertNotEquals
+
+
+
assertTrue/assertFalse
+
+
+
assertNull/assertNotNull
+
+
+
assertSame/assertNotSame
+
+
+
fail
+
+
+
assertThat
+
+
-
assertArrayEquals
+
-
+
assertAll
-
-
+
assertThrows
-
-
+
assertTimeout
-
-
+
24.
ЛогированиеLog4j2
25.
Appenders26.
Level27.
Layoutshttps://logging.apache.org/log4j/2.x/manual/layouts.html#PatternLayout
28.
Настроцйка логирования29.
Пишем первый тест30.
Пишем тест1. Создаем тест, который заходит на сайт https://otus.ru/
2. Для работы с драйвером используем WebDriverManager
3. Подключаем и настраиваем логирование
31.
Интеграция с Git32.
Использование GitGit — распределённая система контроля версий, позволяющая сохранять
изменения, внесённые в файлы, которые хранятся в репозитории
Подробнее https://git-scm.com/book/ru/v2
Используем https://github.com/
33.
.gitignorehttps://gitignore.io/
34.
Практика1. Создаем git-репозиторий
2. Настраиваем .gitignore
3. Добавляем проект в удаленный репозиторий
35.
Owner36.
Ownerhttp://owner.aeonbits.org/
37.
РефлексияОтметьте 3 пункта, которые вам
запомнились с вебинара
?
Что вы будете применять в работе
из сегодняшнего вебинара?
38.
Заполните, пожалуйста,опрос о занятии
39.
До новых встреч!Приходите на следующие занятия
Картушин Антон Юрьевич
Ведущий специалист по тестированию
ООО “ТСК”
[email protected]