У меня есть некоторый тестовый код, использующий компиляцию условий, как показано ниже:
public class MyFixture : IDisposable
{
public MyFixture()
{
#if UseMySqlForTesting
... do A
#else
... do B
#endif
}
, а также некоторые связанные файлы, если UseMySqlForTesting
истинно:
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<IsPackable>false</IsPackable>
<UseMySqlForTesting>true</UseMySqlForTesting>
</PropertyGroup>
...
<!-- copy the files if we use mysql, otherwise, don't copy them -->
<ItemGroup Condition="$(UseMySqlForTesting)">
<None Update="MySql.Test.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="other.configuration.files.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
Теперь я хотел бы используйте dotnet test
для проверки проекта.
Вопрос:
Существует ли такой подход:
dotnet test /p:UseMySqlForTesting=false
dotnet test /p:UseMySqlForTesting=true
, с помощью которого он может проверить ветвь #if
или #else
автоматически, а также при необходимости скопировать соответствующие файлы?