Ich habe Probleme, eine XSL-Datei in das gleiche Verzeichnis wie die Testassembly zu kopieren, wenn ich das DeploymentItem
-Attribut für einen MSTest-Komponententest verwende. Ich folgte der gewählten Antwort für this question und die Datei, die ich kopiert habe, hat seine "Copy to Output Directory" auf "Copy Always" gesetzt. Wenn ich mein ProjectDir \ bin-Verzeichnis (das Zielverzeichnis) überprüfe, ist die Datei, die ich kopiert werden möchte, neben den DLLs und PDBs tatsächlich vorhanden.C# DeploymentItem kann Datei für MSTest-Komponententest nicht kopieren
Ich habe ein paar Unit-Tests mit dem folgende Setup:
private const string DLL = "Service.dll";
private const string XSL_PATH = "transform.xsl";
[TestInitialize]
public void InitializeTest()
{
Assert.IsTrue(File.Exists(DLL)); // passes
}
[TestMethod]
[DeploymentItem(DLL)]
[DeploymentItem(XSL_PATH)]
public void XmlToResultsTest()
{
Assert.IsTrue(File.Exists(XSL_PATH)); // fails
}
Der XSL-Test schlägt fehl, weil, wenn ich MSTest die Testresults überprüfen \ particularTestRun \ Out-Verzeichnis, ich den DLLs und die PDBs sehen, aber meine XSL-Datei ist nicht da. Was ich wissen möchte, ist warum die XSL-Datei wird nicht zusammen mit den DLLs und PDBs kopiert, auch wenn ich explizit Visual Studio sage, es dort über DeploymentItem
zu kopieren?
Ich hatte das gleiche Problem Sarah - sehr verwirrend in der Tat! –