Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void testReadTasks() {
- /*
- аналогично другим именам тест-методов - public void testRead() - будет ок
- */
- **********************
- List<Task> actualTasks = get();
- /*
- в коде тест-класса вызывай все методы из ресурс-модуля - как TasksRest.имяМетода()
- цель - уточнить что за метод
- весь код просмотри
- */
- ***************************
- public class Task {
- ...
- public Task(String title) {
- this.title = title;
- this.description = "";
- this.done = false;
- this.uri = TasksRest.uri + "/" + (TasksRest.get().size() + 1);
- }
- /*
- вот так делать не надо
- не надо классу Task делать запросы к нашему серверу
- у этого класса - другие функции
- это просто контейнер, для информации о таске
- не более
- кроме того - мы делаем работоспособность этого конструктора зависимой от работоспособности TasksRest.get()
- надо избегать таких неочевидных связей)
- если упадет тест создания таски - будет не просто понять - чего же он упал)
- смысл в том - что при создании таски, даже если мы не зададим uri - таска будет корректно создана все равно
- см ниже
- */
- public Task(String title) {
- this.title = title;
- this.description = "";
- this.done = false;
- this.uri = "";
- }
- /*
- в конструкторе контейнера - обеспечили не null-значения для всех полей
- */
- @Test
- public void testCreateWithTitle() {
- TasksRest.create(new Task("t3 title"));
- TasksRest.assertTasks(DEFAULT_TASKS[0], DEFAULT_TASKS[1], new Task("t3 title", "", false, TasksRest.uri + "/3"));
- }
- /*
- в тест-методе -
- при создании таски - оперируем таким конструктором контейнера
- при проверке тасок - оперируем уже новой уточненной таской
- */
- *************************************
- @Test
- public void testCreateUpdateDelete() {
- Task createCRUDTask = new Task("my CRUD task");
- /*
- я бы оперировала менее пафосным именем для этой переменной - т к ниже по коду мы для обновленной таски - создаем новый объект типа Task
- и создавала бы таску, указывая все ее поля - так код будет лаконичнее
- в е2е сценарии это важно
- */
- ********************************************
- public class TasksRest {
- public static Response response;
- /*
- убирай это поле с ресурс-модуля
- пусть каждый метод оперирует своей переменной Response response
- в данном случае - нам снаружи всех методов ресурс-модуля - не нужен Response response
- методы возвращают уже данные из Response response
- а статус - мы проверили внутри метода
- потому - и переменная Response response на уровне класса - не нужна
- */
Advertisement
Add Comment
Please, Sign In to add comment