Разбить юнит-тесты на другой проект
Я имел обыкновение иметь папки 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