Это, вероятно, вопрос noob, который я получу намеченным, но здесь идет ... Извините за длину, которую пытались сделать как можно более короткой.
BackGround
Я работаю над приведением в порядок кода, который я унаследовал в моей новой роли.Итак, я представляю тесты по мере того, как я работаю над разделами / ошибками / новыми функциями.Одной из этих функций является функция печати счета, счет-фактура генерируется из файла rpt Crystal Report.Уже была небольшая оболочка для базовых функций Crystal, я просто хочу протестировать ее и убедиться, что мы создаем файлы по мере необходимости.
Проблемы Во-первых, я знаю, что что-нибудьиспользование файлового ввода-вывода не должно быть частью модульного тестирования, но могу ли я покрыть это интеграционными тестами / системными тестами?Должен ли я просто запустить упаковщик с предварительно загруженными данными и проверить, выплевывает ли он файл?Могу ли я запросить PDF-файл программно и убедиться, что детали верны?
Я также пытался смоделировать некоторые операции ввода-вывода, чтобы можно было выполнить модульное тестирование оболочки, но здесь у меня проблемы с moq, которые не нравятся Crystal ReportDocumentучебный класс.Кроме того, мне пришлось по-настоящему изменить структуру класса, чтобы можно было проводить тестирование, если бы я действительно делал это (вроде как я должен), но публичная публикация только для того, чтобы я мог вставить тестовые данные, кажется немного неправильной.
Я не выкладывал код, так как в данный момент это скорее теоретическая дискуссия ... Я хотел бы получить некоторую информацию о коде, но не уверен, если я слишком много думаю, может кто-нибудь, пожалуйста, посоветуйте мне ситуацию такого типа,
Большое спасибо.