対応する構成ファイルを含むテスト dll のリストを選択しようとしています
MyTest.Tests.dll
MyTest.Tests.config
スクリプトのロード時にdllが利用できないため、createItemを使用する必要があります
<CreateItem Include="$(AssemblyFolder)\*.Tests.dll"
Condition="???"
<Output TaskParameter="Include" ItemName="TestBinariesWithConfig"/>
</CreateItem>
私が使用できる条件はありますか、それともこれは間違ったアプローチですか?
ありがとう
マック
編集:
明確にするために、xUnit.Net プロジェクト ファイルを作成する必要があります。これを行う必要があるのは、nCover 経由で xUnit.Console ランナーを介してテストを実行しているためです (聞かないでください!) が、要するにプロジェクト ファイルしか使用できないということです。私が抱えている問題は、.config ファイルが関連付けられたテスト dll がある場合です。構成ファイルがないと、テスト ランナーは失敗します。
これは、条件付きでテスト プロジェクト ファイルに追加の属性 (config-file) を追加する必要があることを意味します。
プロジェクト テンプレート ファイル:
<?xml version="1.0" encoding="utf-8"?>
<xunit>
<assemblies>
<!-- SAMPLE <assembly filename="Tests.dll" shadow-copy="false" config-file="Tests.dll.config" /> -->
<!-- @TARGETS@ -->
</assemblies>
</xunit>
構成ファイルのないテスト dll の FileUpdate タスク。
<FileUpdate
Files="$(AssemblyFolder)\$(XUnitProjectFileName)"
Regex="<!-- @TARGETS@ -->"
ReplacementText="<!-- @TARGETS@ -->%0D%0A<assembly filename='$(AssemblyFolder)\%(TestBinaries.FileName)%(TestBinaries.Extension)' shadow-copy='false' />"
/>
したがって、テスト dll に対応する構成ファイルがあるかどうかに応じて、条件付きで FileUpdate タスクに余分な属性を追加する方法が必要です。