julia_v_iluhina

Untitled

Nov 14th, 2016
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.71 KB | None | 0 0
  1.  public void testReadTasks() {
  2. /*
  3.     аналогично другим именам тест-методов -  public void testRead() - будет ок
  4. */
  5. **********************
  6. List<Task> actualTasks = get();
  7. /*
  8.     в коде тест-класса вызывай все методы из ресурс-модуля - как TasksRest.имяМетода()
  9.     цель - уточнить что за метод
  10.  
  11.     весь код просмотри
  12. */
  13. ***************************
  14. public class Task {
  15.     ...
  16.  
  17.     public Task(String title) {
  18.         this.title = title;
  19.         this.description = "";
  20.         this.done = false;
  21.         this.uri = TasksRest.uri + "/" + (TasksRest.get().size() + 1);
  22.     }
  23. /*
  24.     вот так делать не надо
  25.     не надо классу Task делать запросы к нашему серверу
  26.     у этого класса - другие функции
  27.     это просто контейнер, для информации о таске
  28.     не более
  29.     кроме того - мы делаем работоспособность этого конструктора зависимой от работоспособности TasksRest.get()
  30.     надо избегать таких неочевидных связей)
  31.     если упадет тест создания таски - будет не просто понять - чего же он упал)
  32.  
  33.     смысл в том - что при создании таски, даже если мы не зададим uri - таска будет корректно создана все равно
  34.     см ниже
  35.  
  36. */
  37.     public Task(String title) {
  38.         this.title = title;
  39.         this.description = "";
  40.         this.done = false;
  41.         this.uri = "";
  42.     }
  43. /*
  44.     в конструкторе контейнера - обеспечили не null-значения для всех полей
  45. */
  46.     @Test
  47.     public void testCreateWithTitle() {
  48.         TasksRest.create(new Task("t3 title"));
  49.  
  50.         TasksRest.assertTasks(DEFAULT_TASKS[0], DEFAULT_TASKS[1], new Task("t3 title", "", false, TasksRest.uri + "/3"));
  51.     }
  52. /*
  53.     в тест-методе -
  54.         при создании таски - оперируем таким конструктором контейнера
  55.         при проверке тасок - оперируем уже новой уточненной таской
  56.  
  57. */
  58. *************************************
  59.     @Test
  60.     public void testCreateUpdateDelete() {
  61.  
  62.         Task createCRUDTask = new Task("my CRUD task");
  63.     /*
  64.         я бы оперировала менее пафосным именем для этой переменной - т к ниже по коду мы для обновленной таски - создаем новый объект типа Task
  65.         и создавала бы таску, указывая все ее поля - так код будет лаконичнее
  66.         в е2е сценарии это важно
  67.     */
  68. ********************************************
  69.     public class TasksRest {
  70.  
  71.         public static Response response;
  72. /*
  73.     убирай это поле с ресурс-модуля
  74.     пусть каждый метод оперирует своей переменной Response response
  75.  
  76.     в данном случае - нам снаружи всех методов ресурс-модуля - не нужен Response response
  77.     методы возвращают уже данные из Response response
  78.     а статус - мы проверили внутри метода
  79.  
  80.     потому - и переменная Response response на уровне класса - не нужна
  81. */
Advertisement
Add Comment
Please, Sign In to add comment