У меня есть запечатанный класс с защищенными методами, поведение которых я хочу протестировать. Это затрудняет непосредственное тестирование и затрудняет имитацию.
Это кодовая база, которая не была разработана в стиле TDD, и сейчас я добавляю модульные тесты для конкретных функций.
Какие общие подходы возможны в этом случае? На данный момент у меня есть:
- Распечатать класс. Затем создайте прокси или адаптер, производный от класса в нашем тестовом коде, для туннелирования доступа к защищенному методу.
- Вынесите поведение в защищенном методе за пределы делегата / функтора и повторно внедрите его. Затем независимо протестируйте выделенное поведение.
- Проверьте, вызвав ближайший общедоступный метод в иерархии наследования, который использует защищенный метод. Потенциально приводит к множеству насмешек и подверженности риску, когда код, отличный от тестируемого, изменяется - создавая хрупкие тесты.
- Используйте отражение, чтобы получить доступ к защищенному методу.
DateTime dateEnd; TimeSpan ts = dateEnt - dateStart; Печать: ... Год (а) и ... Месяц (а) как это вычислить? .net framework 2.0
проект c # asp.net.
DateTime dayStart;
DateTime dateEnd;
TimeSpan ts = dateEnt - dateStart;
Печать: ... Год (а) и ... Месяц (а)
как я могу это вычислить?
.net framework 2.0
c #
проект asp.net.
задан Rup 20 January 2011 в 14:55
поделиться