1. Java / Говнокод #25163

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    public void testGetClosedStatuses() {
        List<FooStatus> expectedStatuses = Arrays.asList(
                FooStatus.CANCELLED,
                FooStatus.COMPLETED,
                FooStatus.REJECTED);
    
        List<FooStatus> closedStatuses = fooService.getClosedStatuses();
    
        assertThat(closedStatuses, containsInAnyOrder(expectedStatuses.toArray());
    }

    Берём массив и преобразуем его в список. Чтобы использовать этот список, преобразуем его в массив.

    Запостил: wissenstein, 06 Декабря 2018

    Комментарии (8) RSS

    • Хуешник на губешник.
      Ответить
      • <?php
        
        function testGetClosedStatuses($closedStatuses) {
            $expectedStatuses = (object)array("CANCELLED", "COMPLETED", "REJECTED");
            assert(in_array($closedStatuses, (array)$expectedStatuses));
        }
        
        testGetClosedStatuses("COMPLETED");
        
        testGetClosedStatuses("PETOOH");
        Ответить
    • пусть GC поработает
      Ответить
    • Тест тоже сам по себе высоко интеллектуальный.
      Ответить
      • Откуда ты знаешь как работает getClosedStatuses?
        Вдруг он находит их с помощью машинного обучения?
        Ответить
        • Но тогда это будет flacky test! В нормальном тесте должна быть видна причинно-следственная связь.

          Given X, after performing F, we see Y.

          Я почти уверен, что в сервисе на самом деле список статусов захардкожен.
          Ответить
          • >>флаки
            Это тоже может быть не страшно. Можно отслеживать процент успешных запусков, и начинать бить тревогу если их количество падает продолжительное время.


            А вообще это всё зеленый, как ты понимаешь. Конечно же этот тест это пиздец
            Ответить
    • EnumSet?
      не, не слышал
      Ответить

    Добавить комментарий