Модульное тестирование - использование изображения в качестве ресурса в тестовом проекте - PullRequest
3 голосов
/ 12 января 2011

Одна часть проекта, в котором я пишу модульные тесты для извлечения данных из заголовка jpeg.

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

Мне кажется логичным, что этот образец изображения будет сохранен в тестовом проекте в качестве ресурса, но я не уверен, как это сделать.Если бы это был проект WPF, я бы просто использовал синтаксис пакета.

Есть ли передовая практика для чего-то подобного (или даже для чего-то, что будет работать)?

Спасибо,WTS

Ответы [ 2 ]

5 голосов
/ 13 января 2011

Вы можете включить изображение в свой тестовый проект в качестве встроенного ресурса.
Затем вы можете использовать следующий код для получения потока этого изображения:

Assembly.GetExecutingAssembly().GetManifestResourceStream("TestProject.TestImages.myImage.png");

Для получения дополнительной информации см. эту ссылку

2 голосов
/ 13 января 2011

Это основано на опубликованном ответе @Matthew Manela, который указал мне (или, возможно, более уместно, одно) правильное направление.Мне это кажется немного клёвым, но это работает.

Сначала установите изображение в качестве ресурса Content с помощью Copy Always.

Затем используйте следующую вспомогательную функцию (используется в разных тестах.):

private string GetValidFileName()
{
    FileInfo fileInfo = new FileInfo(Assembly.GetExecutingAssembly().Location);
    return Path.Combine(fileInfo.DirectoryName, @"Resources\Sample.jpg");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...