В C #, как я могу автоматизировать тестирование Word найти / заменить код? - PullRequest
0 голосов
/ 26 августа 2011

У меня есть приложение на C #, которое автоматизирует заполнение форм в Word из базы данных. В настоящее время я добавляю юнит-тестирование в свое приложение. Есть много звонков на Replace(...), который является "простой" оболочкой для Range.Find.Execute(..). У меня есть несколько других, более сложных методов, которые являются просто модными обертками для Replace(...) У меня есть большинство из них в том же классе WordWrapper, который также обрабатывает распределение и перераспределение объекта WordApplication и open Document список. Что такое хороший метод для автоматизации тестирования чего-то подобного?

Я особенно хочу убедиться, что мои Распределение и перераспределение правильно обработаны, и чтобы я получал соответствующие Сообщения об ошибках / Исключения, когда что-то идет не так, общаясь с Word.

ОБНОВЛЕНИЕ: Причина, по которой я беспокоюсь о выделении / удалении, заключается в том, что Word - дорогой объект для создания / уничтожения, поэтому я сделал его статичным, чтобы я мог использовать его повторно это между вызовами окна формы, которое фактически выполняет слово.

Ответы [ 2 ]

2 голосов
/ 26 августа 2011

Я настоятельно рекомендую, чтобы это НЕ было функцией автоматического тестирования.

Я работал над многими такими системами, и, откровенно говоря, есть вещи, которые происходят при замене текста, которых автоматическое решение просто не найдет. Вам гораздо лучше пригласить ряд сотрудников в пострадавшем подразделении для проверки обновлений.

Один пример: допустим, в форме достаточно места для 6 символов. Вы вводите 10. Код поиска / замены, очевидно, работал. Однако из-за того, что количество символов превысило количество, это полностью испортило структуру страницы, а то, что было 1 пейджером, теперь имеет 2 страницы ... что, вероятно, будет неприемлемо.

ОБНОВЛЕНИЕ: Я собираюсь оставить этот ответ просто потому, что он может помочь кому-то в будущем наткнуться на концепцию поиска / замены текста в документах. Однако после перечитывания вопроса (вместе с его обновлением) я не думаю, что этот ответ действительно применим вообще.

0 голосов
/ 26 августа 2011

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

Это похоже на реальный интерфейс, но вы можете контролировать, что будет возвращать каждый вызов, например, если вы передадите «Find xyz», он вернет «true», но если вы передадите «Find 123», это вызовет исключение. Затем вы можете проверить, что ваш код обрабатывает это правильно.

Я не знаю ни одной насмешливой среды, которая явно нацелена на Word.

...