Я работаю над созданием охвата. Один из тестов занял много времени, если фильтр OpenCover был просто +[*], поэтому я решил добавить имена сборок. Но это неэффективный подход, так как сборки могут увеличиться. Я хочу сделать что-то вроде извлечения имени сборки из UnitTestAssemblies и передать его фильтрам в качестве аргумента со скобками и всем остальным.
UnitTestAssembly.Filename дает Assembly1.Tests, и я хочу, чтобы Assembly1 был добавлен в качестве фильтра.
<ItemGroup>
<UnitTestAssemblies Include="$(ProjectRoot)\**\bin\$(Configuration)\*.Tests.dll" />
</ItemGroup>
<Exec Command="$(OpenCoverToolPath)\OpenCover.Console.exe
-target:$(NUnitToolPath)\nunit3-console.exe
-register
-targetargs:%(UnitTestAssemblies.FullPath)
-filter:"+[Assembly1]* +[Assembly2]*"
-output:$(somepath)\%(UnitTestAssemblies.Filename).coverage.xml"
ContinueOnError="true" Timeout="1800000"/>