Дружественная сборка

225
05 марта 2017, 05:34

У меня есть 2 проекта в solution. В одном класс, где есть private методы, которые нужно протестировать. Другой проект это юнит тесты. Знаю, что я могу использовать механизм дружественных сборок, чтобы получить доступ к private методам того класса. Подскажите, как мне это сделать? Желательно, максимально подробно.

Answer 1

Юнит-тестами покрывается обычно публично видимая часть. Для тестов и для "пользователя" (программиста, использующего ваш api) класс является черным ящиком - что-то передается на вход, что-то получается на выходе, это и тестируется.

Если у вас вощникла потребность тестировать private методы, возможно, у вас нарушается принцип единой ответственности (single responsibility principle). Попробуйте выполнить декомпозицию, выделите дополнительный класс и сами обращайтесь к нему (и тестируйте его) по принципу черного ящика. А private члены - это его внутреннее состояние, которое не должно быть интересно за пределами этого класса.

READ ALSO
Имеются ли условные операторы IF NOT EXIST для CREATE TABLE?

Имеются ли условные операторы IF NOT EXIST для CREATE TABLE?

Если нет возможности в FireBird 25 добавить констуркцию подобно MySQL то как правильнее проверять наличие создаваемой таблицы

309
Как обрабатывать полученные данные

Как обрабатывать полученные данные

Допустим есть данные полученные через GET

274
Почему не работает meta_query?

Почему не работает meta_query?

Есть вот такой код:

315
Пустое сообщение с формы обратной связи PHP

Пустое сообщение с формы обратной связи PHP

Прошу помощи, приходят сообщения, в которых только такое содержание: Name:

271