Как вы тестируете событие FileSystemWatcher? - PullRequest
5 голосов
/ 13 ноября 2008

Я работаю в системе, которая обрабатывает документы, которые выгружаются в целевой каталог. Я подбираю файлы, обнаруживая событие FileSystemWatcher OnChanged.

Как часть модульного теста, как мне это автоматизировать? Как мне организовать входные файлы и выходные файлы, которые сравниваются, чтобы убедиться, что преобразования правильны? Это лучше обрабатывается командным файлом, выдающим команды diff?

1 Ответ

7 голосов
/ 13 ноября 2008

Ну, во-первых, подумайте, что именно вы хотите проверить.

Это значит, что после того, как вы обнаружили, что файл изменился, он обрабатывается правильно?

Или класс FileSystemWatcher работает?

Или операционная система отправляет вам правильные уведомления в правильном порядке (где right в основном означает , как вы ожидаете )?

Если требуется выполнить только обработку, я рассмотрел бы макетирование класса наблюдателя или использование контейнера IoC для предоставления вам чего-то, что запускает события для модульного теста.

Если операционная система выдает правильные события в правильном порядке, то я бы смоделировал код, который обрабатывает файл, просто чтобы сохранить состояние, которое говорит: «Да, мне сказали, что этот файл изменился», и модульный тест будет затем манипулировать файлами во временном каталоге.

Но имейте в виду, что чем больше внешней сложности использует ваш модульный тест, тем более хрупким он будет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...