Разбить юнит-тесты на другой проект

Я имел обыкновение иметь папки Tests в моем главном проекте, где у модульного теста была эта строка кода:

Foo foo = new Foo(Environment.CurrentDirectory + @"\XML\FooData.xml" );

У меня есть каталог XML в проекте Foo, который имеет FooData.xml

В событии пост-сборки моих проектов у меня есть следующая копия строки "$(ProjectDir)Foo\Currencies.xml" "$(TargetDir)\XML"

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

Не удалось найти часть пути 'C:\svncheckout\Foo.Tests\bin\Debug\XML\FooData.xml'

3 ответа

Решение

Вместо того, чтобы выполнить шаг после сборки, вы не можете просто сделать его элементом контента в Visual Studio, сказав ему скопировать его в целевой каталог? Я обычно либо делаю это, либо делаю его встроенным ресурсом и использую потоки и Assembly.GetManifestResourceStream.

Я считаю, что вам нужно обновить событие пост-сборки для проекта Foo.Tests, чтобы оно было:

"$ (ProjectDir) Foo.Test \ Currencies.xml" "$ (TargetDir) \ XML"

Вы также можете указать полный путь к XML в своих тестовых модулях app.config

Другие вопросы по тегам