Обычно тесты для модуля хранятся в этом модуле, но в папке тестов. Так что, если вы измените некоторые внутренние компоненты вашего модуля, вам нужно будет запускать тесты только для этого модуля.
Допустим, у вас есть модуль A и проекты P1 и P2, которые используют этот модуль A в качестве зависимости. Тогда модульные тесты для модуля A должны быть в хранилище для модуля A. В этом случае, как только сборка для модуля A завершится успешно, вы знаете, что этот модуль работает нормально.
Если у вас есть модульные тесты для кода модуля A в проекте P1, то вы не можете протестировать сборку модуля A без запуска сборки проекта P1. И вам также может потребоваться запустить дублированные тесты для кода из модуля A в вашем другом проекте P2, потому что если кто-то удалит модуль A из проекта P1 (и все модульные тесты для этого кода также будут удалены), то этот модуль A не будет иметь тестов на всех.
Используйте атрибут [DeploymentItem]
в тестовых классах, которые его используют. Вы можете указать каталог:
[TestClass]
[DeploymentItem("blahblah\\myDirectory", "myDirectory")]
public class MyTest
{
}
Примечание:
[AssemblyInitialize]
. Тогда вам нужно только предоставить его один раз. Не уверен, надо попробовать. The other option you have is to create another folder beneath the original folder, and then that folder will be deployed to the out directory. For example you can have this structure:
TestFolder/
TestFolder/TestDeployment/
And then in the testrunconfig you still select the TestFolder folder and the TestDeployment folder will be deployed to the out directory.
Откройте файл .testsettings в блокноте. Теперь вы должны увидеть, что для каждой папки для копирования
<DeploymentItem filename="FolderName\" />
Измените это на
<DeploymentItem filename="FolderName\" outputDirectory="FolderName\" />