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

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

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

22 ответов

5 просмотров

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

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
😭

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

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

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

А чем вам питонисты не угодили?😂
.
79
Язык Си можно выучить за день? По книжке ANSI C на 230 страниц
Vincent Vegan
29
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
Dim Dim, [02.07.2024 11:07] DB 0x62 Dim Dim, [02.07.2024 11:07] DB 0x66 Dim Dim, [02.07.2024 11:07] кто пояснит что это?
Dim Dim
14
Ошибка: segmentation fault (core dumped) Код: pastebin.com/BEsNNSSV Сообщение от компилятора: отсутствует ОС: Arch Linux Ядро: x86_64 Linux 6.9.7-arch1-1 Процессор: Intel Cele...
sec
4
Ребят, а за скок можно впарить анон чат с апишкой и веб админкой ?
Eugene Неелов
15
Ещё такой вопрос. Мне необходимо хранить пароль пользователя локально. Для этого планирую использовать ini файл. Это для автозаполнения полей логин и пароль при авторизации. Е...
Евгений
19
Кстати, я тут еще с одной темой столкнулся, вот учу я C++, на таком то ресурсе, а остальные постоянно советуют практиковаться, что то писать, проекты, но как писать если вот т...
aaswq1
7
@ahndmn @ayaw0_0 здарова, на чем пишете?
Aiwan \ (•◡•) / _bot
7
Коллеги, как получить PId для собственного процесса из под линукса?
Роман Лях (rgreat)
6
Карта сайта