Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Test
- public void testDelete() {
- // givenAtCompleted(COMPLETED,"1", "2");
- // given(new Task(ACTIVE, "1"),new Task(COMPLETED, "2"),new Task(COMPLETED, "3"));
- given(Task.active("1"));
- add("2","3");
- toggle("2");
- toggle("3");
- filterCompleted();
- assertItemsLeft(1);
- delete("2");
- assertVisibleTasksAre("3");
- assertItemsLeft(1);
- }
- вот смотри, этот тест тестирует удаление... его имя об этом говорит: testDelete
- кстати, видишь что слово Test повторяется
- @Test и тут
- testDelete и тут
- это значит что второй раз его смысла писать реально нет, ну это такое :)
- так вот...
- мы тестируем удаление... значит добавление тестировать не нужно...
- значит есть смысл добавить задачи не через юай а через наши гивены... типа "прямой записью в базу данных"
- тоже касается и таглов...
- а у тебя как? вот так:
- given(Task.active("1"));
- add("2","3");
- toggle("2");
- toggle("3");
- в чем же смысл тогда гивенов был?
- как раз в том, что бы все задачи за раз БЫСТРО добавить, например так:
- given(Task.active("1"), Task.completed("2"), Task.completed("3"))
- почему ты так тогда не сделал...?
- более того...
- ты реально же не просто удаление тестируешь, а удаление на комплитед фильтре... почему тогда в имени тест метода нет об этом информации?
- имена же методов должны отображать то что у них внутри...
- более того... у тебя же там отдельно есть givenAtCompleted
- ...
- ****
- for (Task task : tasks) {
- results = results + task.toString() + ",";
- }
- помнишь я тебе говорил что task.toString() не обязательно в таких случаях скорее всего, достаточно просто task
- toString джавой визовется автоматически...
- вот попробуй так сделать. оно должно заработать
- ***
- Дальше... Почитай о работе со стрингами в циклах... там у них есть проблемы... они сильно много памяти жрут...
- более правильно использовать для таких "сложно составных стрингов" - StringBuilder
- погугли о нем, и переделай свой код так что бы он его использовал
- так более правильно
- это важно
- на собеседованиях могут спрашивать такое по джаве
- ***
- (Task...tasks)
- принято после трех точек ставить пробел
- ***
- @Step
- public void given ( boolean taskType, String...taskTexts){
- Task[] tasks = new Task[taskTexts.length];
- for (int i = 0; i < taskTexts.length; i++) {
- tasks[i] = new Task(taskType, taskTexts[i]);
- }
- given(tasks);
- }
- такой метод пока что важен как вспомагательный...
- но использовать его в коде смысла нет...
- лучше создать более красивые
- public void givenActive (String...taskTexts){
- public void givenCompleted (String...taskTexts){
- точно так же как мы создали Task.active Task.completed
- я тебе об этом уже писал...
Advertisement
Add Comment
Please, Sign In to add comment