powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как покрывать тестами класс использующий неуправляемые ресурсы (Бд, Файл, Порты и пр.)
25 сообщений из 72, страница 2 из 3
Как покрывать тестами класс использующий неуправляемые ресурсы (Бд, Файл, Порты и пр.)
    #39304689
ProBiotek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAУ Вас есть реальная необходимость в нескольких реализациях IStorage? Если да, то как Вы протестируете каждую из этих реализаций? :)

Нету. IStorage тут нужен не для того, чтобы иметь различные реализации. А для того, чтобы разорвать зависимости между классами и тестировать их отдельно. И если класс логикой еще понятно как тестить (моки, стабы) то вот класс непосредственно читающий/пишущий файл наверное не протестить.

Просто хотелось услышать мнения о том как быть с юнит-тестами в условиях неуправляемых ресурсов. В принципе я для себя понял что такие классы остается делать минимально простыми и полагаться на то, что разработчики этих классов их тестируют (это уже их проблемы как).
...
Рейтинг: 0 / 0
Как покрывать тестами класс использующий неуправляемые ресурсы (Бд, Файл, Порты и пр.)
    #39304691
fsharp_fsharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProBiotekи полагаться на то, что разработчики этих классов их тестируют (это уже их проблемы как).

нет, если у Вас есть необходимость тестирования, это Ваши проблемы
...
Рейтинг: 0 / 0
Как покрывать тестами класс использующий неуправляемые ресурсы (Бд, Файл, Порты и пр.)
    #39304719
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PallarisskyANAУ Вас есть реальная необходимость в нескольких реализациях IStorage? Если да, то как Вы протестируете каждую из этих реализаций? :)

Задача протестировать не реализацю IStorage, а класс, который его использует
Посмотрите первое сообщение в топике, у ТС класс непосредственно пишет в файл. Это и есть на мой взгляд реализация IStorage для файловой системы.

А про "протестировать не реализацю IStorage, а класс, который его использует" я уже писал: 19632216 .
...
Рейтинг: 0 / 0
Как покрывать тестами класс использующий неуправляемые ресурсы (Бд, Файл, Порты и пр.)
    #39304744
depend86
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
если речь идет о модульных тестах:
1) создаете свой интерфейс, например IFileSystem с методом, сигнатура которого один в один повторяет сигнатуру File.WriteAllText (path, text)
2) в своем коде указывайте зависимость от этого интерфейса и используете
3.1) сам интерфейс IFileSystem реализуете в виде FileSystemWrapper внутри которого тупо делегируете вызов к методу к File.WriteAllText (т.к. метод WriteAllText в классе File статический)
3.2) в ином случае, например класс WebClient (где методы не статические) даже делегировать ничего не нужно, просто создаете интерфейс IWebClient и класс WebClientWrapper который наследуете от WebClient и IWebClient
4.1) в IOC контейнере указываете что IFileSystem реализован как FileSystemWrapper
4.2) в модульных тестах мокаете IFileSystem и ждёте что метод WriteAllText будет вызван

имхо, както так )
...
Рейтинг: 0 / 0
Как покрывать тестами класс использующий неуправляемые ресурсы (Бд, Файл, Порты и пр.)
    #39304752
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
depend86,
Это как за бутылкой водки поехать.
Из Зеленограда в Москву.
Через Казань.
На большегрузном КамАЗе.
Вместо того, что бы пешком сгонять через дорогу в продуктовый.
...
Рейтинг: 0 / 0
Как покрывать тестами класс использующий неуправляемые ресурсы (Бд, Файл, Порты и пр.)
    #39304762
depend86
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ЕвгенийВ, возможно так и есть, напоминает "эволюцию Hello World" )
однако, ТС спросил - как протестировать его код, я привел пример как, с разделением обязанностей - бизнес логика его кода, в числе прочего, требует чтобы в файл был записан некий текст - текст записывается, юнит тест это проверяет, "физически" процесс записи вынесен в отдельный класс который можно проверить интеграционным тестированием и многократно использовать

я считаю, что абстрагирование любых нативных объектов (системных часов, файловой системы, сети и т.д.) - это хорошо
...
Рейтинг: 0 / 0
Как покрывать тестами класс использующий неуправляемые ресурсы (Бд, Файл, Порты и пр.)
    #39304785
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВdepend86,
Это как за бутылкой водки поехать.
Из Зеленограда в Москву.
Через Казань.
На большегрузном КамАЗе.
Вместо того, что бы пешком сгонять через дорогу в продуктовый.
Или как про факториал .
...
Рейтинг: 0 / 0
Как покрывать тестами класс использующий неуправляемые ресурсы (Бд, Файл, Порты и пр.)
    #39304797
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Присоединяюсь. Считаю, что создавать сущности только ради облегченного юнит-тестирования - это плохая практика.

Но юнит-тесты писать все-таки нужно :)
...
Рейтинг: 0 / 0
Как покрывать тестами класс использующий неуправляемые ресурсы (Бд, Файл, Порты и пр.)
    #39304870
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProBiotekВопрос был про то, как реализовать юнит тестирование класса, записывающего текст в файл.Ну вызови этот метод, проверь созданный файл на правильность, потом удали файл. Заодно проверишь на закрытие файла.

Что тут обсуждать? :-)
...
Рейтинг: 0 / 0
Как покрывать тестами класс использующий неуправляемые ресурсы (Бд, Файл, Порты и пр.)
    #39304881
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AnSi_Sr... откатывать транзакции (некрасиво)Чем некрасиво?
...
Рейтинг: 0 / 0
Как покрывать тестами класс использующий неуправляемые ресурсы (Бд, Файл, Порты и пр.)
    #39304884
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAProBiotekпропущено...


Всякому тесту свое место. Интеграционным интеграционное.А юнит тестам - юнит место. Вопрос был про то, как реализовать юнит тестирование класса, записывающего текст в файл.
Дак и надо было написать: "Что тут покрывать модульными тестами?" :) И про всякие неуправляемые ресурсы вообще ни слова не говорить.
А то фиг Вас поймёшь, что Вы хотите тестировать: то ли логику, то ли интеграцию с этими самыми ресурсами.

В Вашем примере модельными тестами надо покрывать то, что использует метод Write.Все не обязаны придерживаться терминологии, которой ты пользуешься. Со слов ТС и без этой терминологии всё понятно.
...
Рейтинг: 0 / 0
Как покрывать тестами класс использующий неуправляемые ресурсы (Бд, Файл, Порты и пр.)
    #39304885
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КAnSi_Sr... откатывать транзакции (некрасиво)Чем некрасиво?

Видимо, намного красивее - руками править изменения, держа в голове все триггера (если есть). Или после каждого теста базу восстанавливать.
...
Рейтинг: 0 / 0
Как покрывать тестами класс использующий неуправляемые ресурсы (Бд, Файл, Порты и пр.)
    #39304887
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КskyANAпропущено...

Дак и надо было написать: "Что тут покрывать модульными тестами?" :) И про всякие неуправляемые ресурсы вообще ни слова не говорить.
А то фиг Вас поймёшь, что Вы хотите тестировать: то ли логику, то ли интеграцию с этими самыми ресурсами.

В Вашем примере модельными тестами надо покрывать то, что использует метод Write.Все не обязаны придерживаться терминологии, которой ты пользуешься. Со слов ТС и без этой терминологии всё понятно.
То-то и видно, что тебе всё понятно :) Выяснили же уже, что ТС не хочет создавать файл, он хочет это замокать.
...
Рейтинг: 0 / 0
Как покрывать тестами класс использующий неуправляемые ресурсы (Бд, Файл, Порты и пр.)
    #39304889
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей Кпропущено...
Все не обязаны придерживаться терминологии, которой ты пользуешься. Со слов ТС и без этой терминологии всё понятно.
То-то и видно, что тебе всё понятно :) Выяснили же уже, что ТС не хочет создавать файл, он хочет это замокать.ТС скорее запутали, чем что-то выяснили.
...
Рейтинг: 0 / 0
Как покрывать тестами класс использующий неуправляемые ресурсы (Бд, Файл, Порты и пр.)
    #39304920
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры ПавловныИли как про факториал .
Статья очень полезная, но никак не освещена тема юнит-тестирования полученных функций!
...
Рейтинг: 0 / 0
Как покрывать тестами класс использующий неуправляемые ресурсы (Бд, Файл, Порты и пр.)
    #39305457
mikron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры ПавловныЕвгенийВdepend86,
Это как за бутылкой водки поехать.
Из Зеленограда в Москву.
Через Казань.
На большегрузном КамАЗе.
Вместо того, что бы пешком сгонять через дорогу в продуктовый.
Или как про факториал .

Раз зашёл такой разговор, позвольте моё мнение хорошо обрисованное здесь

why most unit testing is waste

Другими словами: я считаю на грани маразма при покупке машины проверят округлость колес и устойчивость лобового стекла к механическим повреждениям. это именно что вы делаете юнит-тестами. Вы тестируете не функциональные требования. От вашего теста вообще нет пользы и мало смысла. По аналогии с машинами - любой нормальный покупатель просто устроит тестовую поездку. Вот и тестировать имеет смысл только тот код, который делает неч-то функциональное (в смысле полезное). Именно этот функционал составляет ценность ПО и только его нужно тестировать.
IMHO
...
Рейтинг: 0 / 0
Как покрывать тестами класс использующий неуправляемые ресурсы (Бд, Файл, Порты и пр.)
    #39305462
fsharp_fsharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mikronСон Веры Павловныпропущено...

Или как про факториал .

Раз зашёл такой разговор, позвольте моё мнение хорошо обрисованное здесь

why most unit testing is waste

Другими словами: я считаю на грани маразма при покупке машины проверят округлость колес и устойчивость лобового стекла к механическим повреждениям. это именно что вы делаете юнит-тестами. Вы тестируете не функциональные требования. От вашего теста вообще нет пользы и мало смысла. По аналогии с машинами - любой нормальный покупатель просто устроит тестовую поездку. Вот и тестировать имеет смысл только тот код, который делает неч-то функциональное (в смысле полезное). Именно этот функционал составляет ценность ПО и только его нужно тестировать.
IMHO

никто не отменяет полезность функциональных тестов. но у юнит-тестов другое назначение . по аналогии с машиной: один разработчик протестировал, что отверстия под дверь сделаны правильно (саму дверь при этом не надо прикручивать, и не надо звать покупателя, чтобы он её тестировал на "открыть/закрыть"). как он это сделал? протестировал (линейкой). откуда у него способ проведения измерения? из спецификации на дверь. кузов пришел по конвейеру (исходники закоммитили в репозиторий) к другому разработчику, который при помощи кувалды сминает люминий (пишет какой-то говно код). все дверь уже не прикрутить. но для этого опять не надо саму дверь (и тем более покупателя-тестировщика) - достаточно того, что тест (измерение линейкой) красный
...
Рейтинг: 0 / 0
Как покрывать тестами класс использующий неуправляемые ресурсы (Бд, Файл, Порты и пр.)
    #39305520
ProBiotek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КAnSi_Sr... откатывать транзакции (некрасиво)Чем некрасиво?
Не все так просто откатить. Например есть автономные транзакции (у Оракла), и они не откатываются при откате основной.
После каждого теста нужно возвращать все в изначальное состояние, что опять таки может быть сложно.
А есть еще identity, sequence. Как писать надежный тест, если сиквенс каждый раз возвращает новое значение - проверять что "процедура вернула какой-то int" ?

Я для себя уже все решил. Выделять функционал с неуправляемыми ресурсами в отдельные классы/сервисы и их внедрять как зависимости. Тестировать сами сервисы в "ручном режиме", вне автоматических юнит тестов. Других вариантов не вижу. Меня это решение устраивает.
...
Рейтинг: 0 / 0
Как покрывать тестами класс использующий неуправляемые ресурсы (Бд, Файл, Порты и пр.)
    #39305523
mikron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fsharp_fsharpmikronпропущено...


Раз зашёл такой разговор, позвольте моё мнение хорошо обрисованное здесь

why most unit testing is waste

Другими словами: я считаю на грани маразма при покупке машины проверят округлость колес и устойчивость лобового стекла к механическим повреждениям. это именно что вы делаете юнит-тестами. Вы тестируете не функциональные требования. От вашего теста вообще нет пользы и мало смысла. По аналогии с машинами - любой нормальный покупатель просто устроит тестовую поездку. Вот и тестировать имеет смысл только тот код, который делает неч-то функциональное (в смысле полезное). Именно этот функционал составляет ценность ПО и только его нужно тестировать.
IMHO

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

Иначе возникает парадоксальная ситуация, когда разрабатывали комбайн а после по тем-же чертежам и спецификациям хотим разработать пароход.
...
Рейтинг: 0 / 0
Как покрывать тестами класс использующий неуправляемые ресурсы (Бд, Файл, Порты и пр.)
    #39305569
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProBiotekАлексей Кпропущено...
Чем некрасиво?
Не все так просто откатить. Например есть автономные транзакции (у Оракла), и они не откатываются при откате основной.
После каждого теста нужно возвращать все в изначальное состояние, что опять таки может быть сложно.Зачем, например, мне думать про проблемы с Ораклом, если я работаю с MSSQL?
ProBiotekА есть еще identity, sequence. Как писать надежный тест, если сиквенс каждый раз возвращает новое значение - проверять что "процедура вернула какой-то int" ?Это чем мешает? Это наоборот хорошо. Счётчики в реальном сервере тоже постоянно растут, в тесте это должно быть учтено.
ProBiotekЯ для себя уже все решил. Выделять функционал с неуправляемыми ресурсами в отдельные классы/сервисы и их внедрять как зависимости. Тестировать сами сервисы в "ручном режиме", вне автоматических юнит тестов. Других вариантов не вижу. Меня это решение устраивает.Рад, что у тебя всё получается.

зы: Если есть необходимость и возможность тестировать на реальной БД, то нужно тестировать на реальной БД. Не забываем, что в БД могут быть FK, CK и т. п., которые тоже контролируют правильность работы программы.
...
Рейтинг: 0 / 0
Как покрывать тестами класс использующий неуправляемые ресурсы (Бд, Файл, Порты и пр.)
    #39305596
Перегонщик перекупки
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mikronfsharp_fsharpпропущено...


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

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

не согласен. спецификация есть всегда - вы же не по наитию пишете, есть ведь ТЗ, так? и юнит-тест - это спецификация через пример.
...
Рейтинг: 0 / 0
Как покрывать тестами класс использующий неуправляемые ресурсы (Бд, Файл, Порты и пр.)
    #39305598
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Юнит-тест - он как FK и CK у таблички
...
Рейтинг: 0 / 0
Как покрывать тестами класс использующий неуправляемые ресурсы (Бд, Файл, Порты и пр.)
    #39305678
mikron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перегонщик перекупкиmikronпропущено...

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

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

не согласен. спецификация есть всегда - вы же не по наитию пишете, есть ведь ТЗ, так? и юнит-тест - это спецификация через пример.
Не надо демагогии и не путайте общее с частным. Наличие ТЗ и спецификации продукта (или программного модуля) не одно и тоже что спецификация каждого метода. А именно методы вы тестируете. Или вы до сих пор только реализовывали методы, которые вам специфицировали?
...
Рейтинг: 0 / 0
Как покрывать тестами класс использующий неуправляемые ресурсы (Бд, Файл, Порты и пр.)
    #39305690
monstrU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProBiotekПривет.

Сабж. Класс занимается одной обязанностью и очень простой. Предположим что у него всего одна функция "записать текст в файл". При этом там есть какая-то простенькая логика на Ifах.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
void Write (string text, string path)
{
   if (_someField)
   {
     File.WriteAllText (path, text);
   }  
   else
   {
     File.WriteAllText(path, text, Encoding.UTF8);
   }
}




Что тут покрывать тестами ? Правильно ли, что в данном классе есть логика if ?

Мое мнение: данные классы не получится покрыть тестами (ввиду работы с ресурсами) и в них не должно быть логики (ввиду того, что метод не покрыть тестами). Получается нужно разделить класс на хотя бы 2 метода/класса: в одном логика работающая с iFileWriter а в другом максимально краткий код, направленный только на работу с физическими ресурсами.

Поправьте, дополните если считаете по другому.

в вашем классе 2 ответственности
1. выбрать способ записи
2. выполнить запись

поэтому вы и не можете написать тест - они сигналят об ошибке в архитектуре.

решение может быть таким - задачу записи вынести в отдельный класс(интерфейс)
то есть будет 2 класса
1. выбор способа записи WriteModeSelector
2. физическая запись FileWriter:IFileWriter

1 класс нужно тестировать при помощи moq объекта. в метод Write класса WriteModeSelector передавать ссылку на IFileWriter (или завести для него свойство), в котором два разных метода писания файлов.
экземпляр IFileWriter сформировать как заглушку.

тест будет заключаться в том, что при выполнении условия _someField вызывался метод IFileWriter.WriteSimpleFile в противном случае вызывался метод IFileWriter.WriteUTF8File.

тест на физическое создание файла можно делать отдельно для FileWriter.WriteSimpleFile и FileWriter.WriteUTF8File

как то вот так - работу с внешними устройствами надо скрыть за интерфейсами
...
Рейтинг: 0 / 0
Как покрывать тестами класс использующий неуправляемые ресурсы (Бд, Файл, Порты и пр.)
    #39305769
Перегонщик перекупки
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mikronПерегонщик перекупкипропущено...


не согласен. спецификация есть всегда - вы же не по наитию пишете, есть ведь ТЗ, так? и юнит-тест - это спецификация через пример.
Не надо демагогии и не путайте общее с частным. Наличие ТЗ и спецификации продукта (или программного модуля) не одно и тоже что спецификация каждого метода . А именно методы вы тестируете. Или вы до сих пор только реализовывали методы, которые вам специфицировали?

вижу, что объяснять Вам, похоже, бесполезно. не считаете нужным писать юнит-тесты - хозяин барин
...
Рейтинг: 0 / 0
25 сообщений из 72, страница 2 из 3
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как покрывать тестами класс использующий неуправляемые ресурсы (Бд, Файл, Порты и пр.)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]