Utilizzo di MSTest, qual è la radice del percorso relativo di DeploymentItemAttribute.Qual è la radice del percorso relativo di DeploymentItemAttribute?
risposta
Per pagina MSDN ...
I percorsi relativi sono relativi alla impostazione RelativePathRoot trovata nel file .testrunconfig.
Questa impostazione è, per impostazione predefinita, la directory Soluzione. Quindi, se avete questa struttura di progetto
SecretProject\
ComponentA\
ComponentA.Test\
Resources\
required.xml
ComponentA.Test.csproj
Tests.cs
SecretProject.sln
E si desidera distribuire required.xml, si sta andando a creare un DeploymentItemAttribute come questo
[TestClass]
public class Tests
{
[TestMethod]
[DeploymentItem("ComponentA.Test\Resources\required.xml")]
public void Test()
{
}
}
Sembra che il file delle proprietà devono essere impostato su 'Contenuto' e 'Copia sempre' o 'Copia se più recente'. Esistono esempi avanzati su this MSDN page.
Assumere che il valore predefinito di RelativePathRoot sia la directory in cui risiede la soluzione non era corretta nel mio caso, né RelativePathRoot è stato definito nel file .testrunconfig. Ho trovato il valore predefinito di RelativePathRoot come directory/bin/debug per la soluzione.
Tornando indietro da quel punto, quindi salendo al mio file che stavo tentando di schierare per il test dell'unità ha funzionato bene.
Quindi aggiungerò la mia esperienza.
Quindi, se si sta utilizzando il file .testrunconfig, questo trionferà (sostituirà) quello che sto dicendo di seguito.
Ho pensato che c'erano alcune opzioni.
relativa alla .csproj corrente
Rispetto al .sln
relativo al file .cs attuali
finalmente ho ottenuto il mio sistema di generazione di lavoro utilizzando il "relativo all'attuale file .cs "approccio.
Nel mio esempio, avevo bisogno di un Xsd da un altro progetto copiato per il mio TestUnità. Ma il tipo di file non ha importanza.
Esempio:
c: \ MyFolder \ MyXsdProject \ XSD \ MyCoolXsd.xsd
c: \ MyFolder \ MyCsharpUnitTestProject \ MySubFolder1 \ MySubFolder2 \ MyUnitTestClass.cs
namespace MyCsharpUnitTestProject.MySubFolder1.MySubFolder2
{
[TestClass]
[DeploymentItem(@"..\..\..\MyXsdProject\XSDs\MyCoolXsd.xsd")]
public class MyUnitTestClass
{
}
}
- 1. CMake ExternalProject: come specificare il percorso relativo alla radice CMakeLists.txt?
- 2. Percorso radice dell'applicazione Grails
- 3. percorso relativo al file CSS
- 4. Percorso relativo ASP.NET
- 5. Percorso assoluto relativo (Eclipse, JSP)
- 6. Percorso relativo app.config
- 7. Percorso relativo alla directory del progetto
- 8. Percorso di scrittura del file system relativo all'interno del modulo
- 9. problema con relativo percorso del file
- 10. Usa percorso assoluto o relativo percorso nel Reagire percorso
- 11. Conversione percorso assoluto al relativo percorso C#
- 12. PHP include percorso relativo
- 13. file_get_contents con percorso relativo
- 14. Percorso relativo WiX relativo al file sorgente
- 15. Percorso relativo utilizzando Uri
- 16. Qual è il percorso del file JRE?
- 17. Percorso relativo al percorso assoluto in C#?
- 18. percorso relativo nella BAT sceneggiatura
- 19. Qual è il nodo radice in XML?
- 20. T4 Include il percorso del file dalla radice del progetto
- 21. Percorso relativo al percorso assoluto in VB.NET
- 22. Calcolo del percorso relativo ad alcune radici - l'inverso di Path.Combine
- 23. Come si risolve un percorso relativo a una radice dell'applicazione ASP.NET MVC 4?
- 24. Google Chrome estensione percorso relativo
- 25. ASP.NET Percorso relativo al file in Web.Config
- 26. Percorso file assoluto all'URL relativo
- 27. cherrypy e relativo percorso nell'app WSGI
- 28. PHP require() l'errore relativo percorso
- 29. include_once, percorso relativo in php
- 30. Trovare la gemma radice
"Sembra che le proprietà del file devono essere impostati su 'Contenuti' e 'Copia sempre' o 'Copia se più recente'." Saresti sorpreso di quanto sia stato difficile trovare questo ... – SouthShoreAK
@SouthShoreAK - Dove è stato trovato? –
@ScottLangham È nelle proprietà File dell'elemento di distribuzione. In 'Esplora soluzioni' è necessario evidenziare il file (in questo caso 'required.xml'), fare clic con il pulsante destro del mouse e selezionare Proprietà. Dovresti vederlo lì. – dpimente