169 похожих чатов

Привет всем. Подскажите, как в jest протестить метод, который вызывается

внутри другого метода? openFile() покрывается, но внутри этого метода есть другой, который ну никак не хочет покрываться аналогичным способом

22 ответов

13 просмотров

мне кажется, что ты тестируешь реализацию внутри компонента - это плохой тест

Tmq
screenshot AttachListItem.vue: Uncovered Lines: 99

не нужно тестировать методы/компутеды/дату и прочие внутренности компонента, нужно тестировать сам компонент. минимальный юнит в юнит тестировании вью - компонент, всё что внутри компонента - черный ящик

Tmq
screenshot AttachListItem.vue: Uncovered Lines: 99

Вместо тестирования метода тебе нужно тестировать сценарий использования компонента, при котором этот метод используется

Tmq- Автор вопроса
Vladimir Voytenko ️
не нужно тестировать методы/компутеды/дату и прочи...

спасибо, не очень-то понятно, как это реализовывать на практике, но будем стараться)

Tmq
спасибо, не очень-то понятно, как это реализовыват...

Это надо не "реализовать", а "не реализовать" :D Владимир сказал, что не делать "не нужно" - не нужно тестировать внутренность компонента, это детали его реализации. Нужно тестировать использование компонента

Tmq
спасибо, не очень-то понятно, как это реализовыват...

просто объяснение поячему такие тесты как кутебя плохо: та разбил один меод на два, и метода с именем который тестируется больше нетЮ ничего не сломалось, просто внутри работает подругому, тест у тебя упадет т.к. метода такого нет, а он падать не должен т.к. всё работает

Tmq- Автор вопроса
Grigorii K. Shartsev
Это надо не "реализовать", а "не реализовать" :D В...

так в этом и проблема, видимо, в самом понимании тестирования. Я в документацию смотрю, читаю, но не особо понимаю, как это реализовывать. Или не реализовывать, я уже запутался)

Tmq
так в этом и проблема, видимо, в самом понимании т...

если есть лишних 150 баксов, рекомендую мастер классы Климова по тестированю)

Tmq- Автор вопроса
Grigorii K. Shartsev
А что реализовать?

Условно, мне нужно сделать покрытие кода на определенное количество %, сонар подсказывает, где и что я не протестировал и указывает на строку, к примеру выше, где метод в методе. Каким-то образом я должен удовлетворить его требования и покрыть эту строку, а вот что писать в тестах - ума не приложу

Tmq
так в этом и проблема, видимо, в самом понимании т...

Тоже самое, что сказал Владимир, только другими словами: цель тестирования — тестировать работу компонента, описывать компонент, подтверждать корректность работы с ним, а не тестировать его внутреннюю реализацию. Пользователей компонента не волнует, как он реализован, какие там методы, выч свойства, дата и тп. Их волнует, как его использовать, как он работает. И тестируются разные сценарии использования этого компонента. Тестируется, что при определённом использовании (входных параметрах, взаимодействии снаружи) компонент даёт ожидаемый результат. Рефакторинг компонента, не влияющий на его использование, не должен приводить к необходимости переписывать тесты. А у тебя будет, так как тестируется внутренность, и любое мелкое изменение компоненат приведёт к переписыванию теста даже, если снаружи компонент не поменялся

Tmq
Условно, мне нужно сделать покрытие кода на опреде...

В каком сценарии используется этот метод?

Tmq- Автор вопроса
Vladimir Voytenko ️
если есть лишних 150 баксов, рекомендую мастер кла...

спасибо, я посмотрю информацию на счет этого)

Tmq- Автор вопроса
Grigorii K. Shartsev
Тоже самое, что сказал Владимир, только другими сл...

благодарю за такой объемный и развернутый ответ. Метод используется в сценарии - произошел клик по кнопке, сработал метод по клику, внутри вызвался метод по скачиванию этого файла

Tmq
благодарю за такой объемный и развернутый ответ. М...

А скачивание реализовано прямо тут же в компоненте?

Tmq
да

Вот мы и нашли проблему) Это не должно быть частью компонента

Tmq
😭

Компонент не должен думать о том, как реализовано скачивание файла. Это не его зона ответственности совсем. Это должна быть отдельная функция в отдельном модуле где-то вне компонентов.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта