Sdílet prostřednictvím


Postupy: Nasazení souborů pro testování

 

Publikováno: duben 2016

Před spuštěním testu, test a aplikace musí být zkopírovány do umístění, kde je lze spustit společně s ostatními sestaveními, na které odkazují. Test obvykle vyžaduje také další soubory, jako například testovací data, konfigurační soubory, databáze a explicitně načtená sestavení. Chcete-li zpřístupnit tyto další soubory pro test, je nutné zadat, že mají být nasazeny.

Kde se testy spouštějí?

Visual Studio můžete spouštět testy v několika místech:

Jak nasadím testovací soubory pro místní test?

Zde je nejlepší způsob:

  1. Zkopírujte soubory do cílové složky sestavení jako součást procesu sestavení.

    • Pokud jsou specifické pro jeden testovací projekt, zahrňte je jako obsah souborů v testovacím projektu aplikace Visual Studio. Vyberte je v Průzkumníku řešení a nastavte vlastnost Kopie na výstupu na hodnotu Kopírovat, pokud je novější.

    • Jinak definujte úlohy po sestavení a zkopírujte tak soubory do adresáře pro výstup sestavení. Příklad:

      xcopy /Y /S "$(SolutionDir)SharedFiles\*" "$(TargetDir)"
      

      Otevřete dialogové okno Vlastnosti projektu pro testovací projekt. V projektu jazyka C#, otevřete stránku Události sestavení. V projektu Visual Basic otevřete stránku Kompilovat a zvolte možnost Události sestavení. Přidat příkaz Kopírovat do pole Událost po sestavení.

  2. Použití DeploymentItemAttribute na zkušební metody nebo třídy test k určení, soubory a složky, které mají být zkopírovány výstupní adresář sestavení do adresáře nasazení.

    [TestClass]
    class TestClass1
    {
      [TestMethod]
      [DeploymentItem("source", "targetFolder")]
      public void Test1()
      {
        string testData = System.IO.File.ReadAllText(@"targetFolder\source");
        ...
    } }
    
    <TestClass()> _
    Public Class UnitTest1
        <TestMethod()> _
        <DeploymentItem("source", "targetFolder")> _
        Sub TestMethod1()
            Dim testData As String = _
                System.IO.File.ReadAllText(@"targetFolder\source")
        ...
        End Sub
    End Class
    
    • zdroje je soubor nebo adresář, který se má kopírovat. Cesta může být absolutní, nebo relativní k adresáři výstupního sestavení.

    • targetFolder je nepovinné. Je to adresář, do kterého bude zkopírován obsah zdrojového souboru nebo adresáře. Cesta může být absolutní nebo relativní k adresáři nasazení. Výchozí hodnota je "." – adresář nasazení.

      Poznámka

      targetFolder je vždy adresáře, nikdy cestu k souboru.Název souboru nelze změnit pomocí DeploymentItem.

    Můžete použít atribut tolikrát, kolikrát má, a můžete je použít k testování metody nebo testovat třídy.

    Když vyberete sadu spuštění testů, jsou zkopírovány všechny položky, které jsou zadané v jejich atributů DeploymentItem před test spustit spustí.

  3. Zvažte spuštění testů jednotky přímo v adresáři výstupu sestavení tak, že testy budou spuštěny rychleji. To je zvlášť užitečné na serveru sestavení po kontrole testů.

    Chcete-li to provést, přidá soubor *.runsettings do vašeho řešení, zahrnují <DeploymentEnabled>False</DeploymentEnabled>, a vyberte soubor v Test, Test nastavení nabídky. Stejný účinek se vyskytuje ve všech spuštěných testech, kde se DeploymentItemAttribute vůbec nepoužívá.

    Však nelze složka nasazení nepoužívejte, pokud používáte *.testsettings soubor, který je vyžadován pro web a zátěžové testy, programové testy uživatelského rozhraní a všechny testy, ve kterém můžete nasadit aplikace do vzdáleného počítače.

Co je to *.runsettings soubor?

Soubor s libovolný název a příponu názvu souboru '.runsettings'. Slouží ke konfiguraci testování částí pro určité účely. Pokud chcete vytvořit, zkopírovat v příkladu z Konfigurace testování částí s použitím souboru .runsettings. Zpřístupněte ji složku řešení a pak proveďte aktivní pomocí Test > Nastavení testu nabídky.

Pokud by měl použít soubor *.testsettings?

Objekt *.testsettings soubor (to znamená, že soubor s libovolný název a příponu názvu souboru '.testsettings') je starší alternativa k *.runsettings. Pokud chcete vytvořit, použijte položku nabídky v Test > Nastavení testu nabídky. Uložte soubor ve složce řešení a aktivovat ji pomocí Test > nabídky nastavení testu.

Vyhněte se používání *.testsettings souboru, pokud je to možné, protože umožňuje pracovat pomaleji testy a je kompatibilní s rozhraní pro třetí strany testování částí. Není třeba ji pro testování částí prostý. Ale je třeba v těchto případech:

Pokud používáte soubor *.testsettings, vaše aplikace a testování sestavení vždy zkopírovat do složky nasazení.

Můžete určit datové soubory a adresáře na stránce Nasazení editoru testsettings. Bude zkopírovány do složky pro nasazení před každým spuštěním testu. Cesty položky zadané na této stránce jsou vždy relativní k adresáři řešení a jsou vždy nasazeny v složce nasazení společně s aplikací a zkušebním sestavením.

Pokud chcete použít absolutní cesty nebo chcete-li určit jiný cílový adresář, otevřete soubor .testsettings pomocí editoru XML a vložte fragment podobně jako tento:

<Deployment>
  <DeploymentItem filename="C:\MyTestData\TestData.mdb"
        outputDirectory="D:\TestDB\" />
</Deployment>

outputDirectory může být absolutní nebo relativní k adresáři nasazení.

Kde se používá samostatná složka pro nasazení?

Při spuštění testů pomocí sady Visual Studio je vytvořena složka pro nasazení pod TestResults ve složce řešení.

Složka pro samostatné nasazení se používá, pokud žádné z metod zkoušení nebo třídy v testu má atribut DeploymentItem, nebo pokud použijete *.testsettings souboru.

Pokud je použita složka nasazení, následující soubory a složky budou zkopírovány do složky nasazení před spuštěním testů:

Místní složka nasazení pro zkoušky

Nasazení složek pro místní spuštění testu

Kdy jsou soubory nasazeny a v jakém pořadí?

V testovacím běhu jsou všechny soubory, které chcete nasadit, zkopírovány před zahájením libovolného testu. Testovací běh je dávka testů iniciovaných jediným příkazem nebo plánovanou událostí. To znamená, že pokud zadáte datový soubor pro nasazení v konkrétní metodě testování, bude také k dispozici pro každý další test, který se provádí ve stejném běhu.

Následující položky jsou zkopírovány v uvedeném pořadí. Položky, které budou zkopírovány později přepíší ty, které byly zkopírovány dříve (pokud mají stejný název).

  1. Položky, které jsou určeny pomocí DeploymentItemAttribute

  2. Závislosti. Například konfigurační soubory aplikace a závislá sestavení.

  3. V zadané položky *.testsettingssouborů, pokud používáte jeden.

  4. Instrumentované binární soubory. Například sestavení, která byla instrumentována k povolení pokrytí kódu nebo IntelliTrace.

    Pokud používáte místní instrumentaci, binární soubory jsou nejprve instrumentovány a poté zkopírovány do adresáře nasazení; jinak jsou nejprve zkopírovány a poté instrumentovány. Místní instrumentace je výchozím nastavením pro testy, které jsou spuštěny v místním počítači.

  5. Soubor nebo soubory, které tvoří zkoušku. Patří sem sestavení testu pro testování jednotek; textové soubory nebo soubory. mht pro ruční testy nebo jiné typy souborů pro jiné typy testů, například obecné testy.

Co je v adresáři TestResults?

  • Složka pro testovací běh. TestResults obsahuje jednu složku pro každý testový běh, který byl spuštěn. Jeho název obsahuje čas vytvoření.

    Pokud zadáte v poli Instalační program a vyčištění skriptů v souboru *.testsettings, testovacího běhu složka obsahuje tyto skripty.

  • Out. Každá složka spuštění testu obsahuje složku s názvem Out. Složka Out je skutečná složka pro nasazení, do které budou zkopírovány sestavení a další souborů nasazení při spuštění testů.

  • V. Výsledky pokrytí kódem a některé výsledky testů jsou uloženy ve složce s názvem In.

Viz také

DeploymentItemAttribute
Nastavení testů v sadě Visual Studio
Instrumentace a opětovné podepisování sestavení