Проверка Tif с помощью ApprovalTests

#tiff #approval-tests

#tiff #утверждение-тесты

Вопрос:

Меня попросили обновить систему, в которой информация заголовка вводится в tif через стороннее консольное приложение. Мне не нужно беспокоиться об этом.

Часть, которую меня попросили посмотреть, — это процесс слияния, который генерирует информацию заголовка.

Текущий файл, сгенерированный процессом, считается правильным, прежде чем я внесу какие-либо изменения, поэтому я хочу добавить это как утвержденный результат, после чего я смогу проверить, что внесенные мной изменения изменят файл, как ожидалось.

Я подумал, что это будет хорошей возможностью взглянуть на использование ApprovalTests

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

То, на что я смотрел Approvals.Verify Approvals.VerifyFile , — это расширения and .

Но то, что, похоже, происходит, сбивает меня с толку.

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

использование Verify(new FileInfo("FileNameHere")) , похоже, не генерирует received файл, который мне нужно пометить как одобренный, но тест возвращает сообщение о том, что он не может найти утвержденный файл tif.

Я, вероятно, использую VerifyFile совершенно неправильно и, возможно, тоже смотрю на Verify неправильное использование.

полезная информация?

Может быть полезно знать, что, поскольку это устаревшее приложение, работающее как служба Windows, я упаковал службу в жгут, который позволяет мне вызывать подпрограммы, поэтому файлы физически записываются в другом месте на компьютере вне моего контроля (ну, есть конфигурация, новозврат вызываемой мной службы генерирует файл в фиксированном местоположении, если он прошел успешно). Я попытался скопировать это в проект модульного тестирования, но, похоже, это не помогло.

Ответ №1:

Проверка (File) и проверка файла (string) предназначены для проверки существующего файла. Таким образом, они просто устанавливают полученный файл в файл, который вы передаете. Вам все равно нужно будет переместить / утвердить / создать утвержденный файл.

Вот псевдокод и процесс.

 [UseReporter(typeof(DiffReporter), typeof(ClipboardReporter)]
public void TestTiff()
{
    string tif = YourProcessToCreateTifFile();
    Approvals.VerifyFile(tif);
}
  

[Примечание: если у вас не установлен image diff, например, TortoiseDiff, вы можете использовать FileLauncherReporter]

Запустите это, как только вы получите результат, переместите файл, вставив буфер обмена в окно cmd. Он переместит временный tif в ваш тестовый каталог с именем className.TestTiff.approved.tif

После этого тест должен проходить до тех пор, пока что-то не изменится.

Удачного тестирования!

Комментарии:

1. Потрясающе! поскольку у меня есть местоположение файла, я просто скопировал файл и переименовал его. Спасибо за помощь, я думаю, я запутался, почему полученный файл не был создан одним из процессов. Я заметил, что он удаляет файл из конечного местоположения. Есть ли способ сохранить файл?

2. ллевеллин — хорошая статья в блоге, кстати!