Udostępnij za pośrednictwem


Porady: wdrożenie plików na potrzeby testów

Przed uruchomieniem testu badania i aplikacji musi być kopiowana do lokalizacji, w którym mogą uruchamiać, razem z innych zestawów, które odwołują.Test zwykle również wymaga dodatkowych plików, takich jak danych testowych, pliki konfiguracyjne, bazy danych i jawnie załadować zestawów.Udostępnienie tych dodatkowych plików do badania, należy określić, czy mają one zostać wdrożone.

Gdzie uruchomić testy?

Visual Studio 2013można uruchomić testy w kilku miejscach:

Jak wdrożyć pliki testów dla lokalnego testu?

W tym miejscu to najlepszy sposób:

  1. Skopiuj pliki w katalogu docelowym kompilacji w ramach procesu kompilacji.

    • W takim przypadku specyficzne dla projektu testowego co należy uwzględnić je zgodnie z projektu testowego plików zawartości w programie Visual Studio.Wybierz je w Eksploratorze rozwiązań i ustawić kopiowania danych wyjściowych właściwości skopiować nowszej.

    • W przeciwnym razie należy zdefiniować zadanie po kompilacji do kopiowania plików do katalogu wyjściowego kompilacji.Na przykład:

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

      Otwórz właściwości projektu projektu testu.W języku C# projektu, otwórz tworzenia zdarzeń strony.W projekcie języka Visual Basic, otwórz skompilować strony i wybierz polecenie tworzenia zdarzeń.Dodaj polecenie Kopiuj zdarzenia po kompilacji pola.

  2. Użyj DeploymentItemAttribute dla metod testów lub klasy testu można określić pliki i foldery, które powinny zostać skopiowane z katalogu wyjściowego kompilacji do katalogu wdrożenia.

    [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
    
    • źródło jest plik lub katalog do skopiowania.Ścieżka może być ścieżką bezwzględną, lub względem katalogu wyjściowego kompilacji.

    • targetFolder jest opcjonalna.Jest to katalog, do której zostaną skopiowane zawartość pliku lub katalogu źródłowego.Ścieżka może być ścieżką bezwzględną, lub względem katalogu wdrożenia.Wartością domyślną jest ".", katalog wdrożenia.

      [!UWAGA]

      targetFolder zawsze jest katalogiem, nie ścieżkę do pliku.Nazwa pliku nie można zmienić za pomocą DeploymentItem.

    Atrybut można użyć jako tyle razy, ile ma i można zastosować do metod testowych lub testowania klasy.

    Po wybraniu zestaw testów do uruchomienia wszystkie elementy, które są określone w ich atrybutów DeploymentItem są kopiowane, zanim rozpocznie się uruchomić test.

  3. Należy wziąć pod uwagę uruchamianiem testów jednostkowych bezpośrednio w katalogu wyjściowego kompilacji, tak aby szybciej testowania uruchamia.Jest to przydatne na serwerze kompilacji, po sprawdzeniu testów.

    W tym celu dodać plik *.runsettings do rozwiązania, należy uwzględnić <DeploymentEnabled>False</DeploymentEnabled>i wybierz plik w testu, ustawień testu menu.Ten sam efekt występuje w dowolnym testu, w którym DeploymentItemAttribute nie jest używany w ogóle.

    Nie można jednak uniknąć przy użyciu folder wdrażania, jeśli używasz *.testsettings pliku, który jest wymagany dla testów sieci web i obciążenia, kodowanych testów interfejsu użytkownika, a dowolny test, w którym wdrażania aplikacji na komputerach zdalnych.

Co to jest plik *.runsettings?

Plik o dowolnej nazwie i rozszerzenie nazwy pliku ".runsettings".Służy do konfigurowania testów jednostkowych dla niektórych celów.Jeśli chcesz utworzyć, skopiuj przykład z Konfigurowanie testów jednostkowych przy użyciu pliku .runsettings.Umieść je w folderze rozwiązania, a następnie wprowadź active za pomocą testu > Przetestuj ustawienia menu.

Kiedy używać pliku *.testsettings?

Element pliku *.testsettings (oznacza to, że plik o dowolnej nazwie i rozszerzenie nazwy pliku ".testsettings") jest starsza zamiast *.runsettings.O jego utworzenie, należy użyć elementu menu w testu > Przetestuj ustawienia menu.Zapisz plik w folderze rozwiązania, a następnie uaktywnić przy użyciu testu > menu Ustawienia testu.

Unikaj używania *.testsettings plik, jeśli to możliwe, ponieważ ułatwia testy działać wolniej i jest niezgodny z struktur testów innych firm.Nie trzeba go dla testów jednostkowych zwykły.Jednak w takich sytuacjach:

Korzystając z pliku *.testsettings, zestawy testowe i aplikacji produktu zawsze zostaną skopiowane folder wdrażania.

Można określić danych plików i katalogów w wdrożenia strony edytora .testsettings.Zostaną one skopiowane do folderu wdrożenia przed każdego uruchomienia testu.Określone na tej stronie ścieżki elementu są zawsze względem katalogu rozwiązanie i zawsze zostały wdrożone w folderze wdrożenia razem zestawy testów i aplikacji.

Jeśli chcesz użyć ścieżki bezwzględne lub aby określić katalog inne miejsce docelowe, otwórz plik .testsettings za pomocą edytora XML, a następnie wstawianie fragmentu podobnie do następującej:

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

outputDirectorymoże być bezwzględne lub względem katalogu wdrożenia.

Gdy jest używany folder wdrażane?

Jeśli zostanie uruchomione testy za pomocą programu Visual Studio, folder wdrażania jest tworzony w obszarze TestResults w folderze rozwiązania.

Folder wdrażane są używane, gdy metody badania lub klasy w przypadku testu ma atrybut DeploymentItem, lub jeśli używasz *.testsettings pliku.

Jeśli używana jest folder wdrażania, następujące pliki i foldery są kopiowane do folderu wdrożenia przed wykonaniem testów:

Wdrożenia foldery lokalne testu

Lokalny Folder wdrożenia testów

Jeśli są pliki wdrożone i w jaki sekwencji?

W przypadku testu wszystkich plików do wdrożenia są kopiowane przed uruchomić wszystkie testy.W przypadku testu jest seria testów zainicjowane przez jedno polecenie lub zaplanowane zdarzenie.Oznacza to, że jeśli określono plik danych ma zostać wdrożony dla określonej metody, będzie też dostępna dla każdego wykonywane w tym samym Uruchom test.

Poniższe elementy są kopiowane w podanej kolejności.Elementy, które są kopiowane później zastąpić te, które zostały wcześniej, kopiować, jeśli mają taką samą nazwę.

  1. Określony za pomocą elementówDeploymentItemAttribute

  2. Zależności.Na przykład pliki konfiguracji aplikacji i zestawy zależnych.

  3. Elementy zaznaczone w *.testsettingsplik, jeśli używasz.

  4. Zinstrumentowanego plików binarnych.Na przykład zestawów, które mają zostać narzędzia do Włącz pokrycie kodu lub IntelliTrace.

    Jeśli używasz Instrumentacji w miejscu, pliki binarne są najpierw narzędzia i następnie skopiowany do katalogu wdrożenia; w przeciwnym razie są najpierw skopiować i następnie narzędzia.W miejscu Instrumentacji jest to ustawienie domyślne dla testów, które są uruchamiane lokalnie.

  5. Plik lub pliki, które obejmują testu.Należą do nich zestawy testów, dla testów jednostkowych; tekst lub .mht na pliki testów ręcznych; lub inne typy plików dla innych typów testu, takie jak ogólny testów.

Co to jest w katalogu TestResults?

  • Folder testu.TestResults zawiera jeden folder dla każdego testu, która została uruchomiona.Jego nazwa zawiera czas, który został utworzony.

    Jeśli określono konfiguracji i oczyszczanie skrypty w pliku *.testsettings, folder testu zawiera tych skryptów.

  • Limit.Każdego testu zawiera folder o nazwie limitu.Folder limit jest folder rzeczywiste wdrożenie, do której zestawy i inne pliki wdrożenia są kopiowane przed rozpoczęciem przebieg testu.

  • In.Pokrycie kodu wyników i niektóre wyniki testów są przechowywane w folderze o nazwie w.

Zobacz też

Informacje

DeploymentItemAttribute

Koncepcje

Instrumentacja i ponowne podpisywanie zespołów

Inne zasoby

Wprowadzanie ustawień testów w programie Visual Studio