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

Всем привет. Подскажите, может есть где примеры юнит тестирования больших

методов?

15 ответов

17 просмотров
Andrew-Yatsenko Автор вопроса

именно

Andrew Yatsenko
именно

Внутри теста мокать можно проверки эти, например.

Andrew-Yatsenko Автор вопроса
Дмитрий
Внутри теста мокать можно проверки эти, например.

дык сам я это все делаю, но это только из своего опыта, потому что в проектах юнит тестов ни в одном не было. А нагуглить чтото более менее громоздкое не получается.

Andrew Yatsenko
дык сам я это все делаю, но это только из своего о...

Потому что никто не пишет один огромный метод, а разбивают их на более маленькие

Andrew-Yatsenko Автор вопроса
Вин Король Саксов ꑭ Король Саксов
Потому что никто не пишет один огромный метод, а р...

для того чтобы тестируемый метод был огромный достаточно иметь одну публичную точку входа с кучерявой логикой внутри множества маленьких приватных

Вот здесь есть, что посмотреть, на мой взгляд: https://github.com/srikanth-lingala/zip4j

Andrew Yatsenko
приватные методы юнит тестами покрывают?)

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

Andrew Yatsenko
Большое спасибо

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

Andrew-Yatsenko Автор вопроса
Evgenii Morozov
Если у тебя есть код с тестами где-то выложен или ...

Спасибо за предложение. Мне накидали в нескольких чатах полезной инфы и книг. Так что займусь сперва этим. А если предложение будет в силе и дальше, то при необходимости обращусь)

Andrew-Yatsenko Автор вопроса
Evgenii Morozov
А книги какие тебе порекомендовали?

xUnit test patterns и Unit Testing: Principles, Practices, and Patterns: Effective Testing Styles, Patterns, and Reliable Automation for Unit Testing, Mocking, and Integration Testing with Examples in C#

Andrew Yatsenko
xUnit test patterns и Unit Testing: Principles...

Дополнительно к этому я бы ещё порекомендовал - TDD от Kent Beck и - Working Efficiently with Legacy Code от Michael Feathers.

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
Карта сайта