Quando você executa testes dentro do VS, ele cria um diretório chamado "TestResults" debaixo do diretório da sua solução, e pra cada execução de um teste, cria um subdiretório chamado "usuário_máquina AAAA-MM-DD hh_mm_ss", e dentro desse subdiretório cria um outro chamado Out, e é dentro desse Out que ficam os assemblies com o código do seu teste e o código a testar. Então qualquer arquivo que seja necessário durante os testes tem que ser copiados para este diretório.
![]() |
Estrutura dos diretórios de execução dos testes, com os arquivos de testes já copiados para lá. |
Achei algumas formas de fazer isso (Test > Edit Test Settings > blablabla.testsettings, opção Deployment; ou [Propriedades do Arquivo] > Build Action = Content e Copy To Output Directory = Copy Always), mas a única coisa que funcionou mesmo foi o uso do atributo [DeploymentItem]:
Como usei em um método de teste, os arquivos só são copiados para o diretório de execução dos testes quando este método rodar. Mas pelo Help da MSDN, ele pode ser usado também em classes, o que (suponho) faz com que os arquivos sejam copiados para o diretório de execução para qualquer teste da classe.