Testy jednostkowe istniejących aplikacji C++ za pomocą narzędzia Eksplorator testów

Zaleca się, że przed zmianą istniejącą aplikację, należy upewnić się, czy ma dobre pokrycie przy użyciu testów jednostkowych.Dzięki temu zaufania zmiany nie zostały wprowadzone usterki.Jeśli aplikacja nie ma już testy jednostek, możesz dodać je przy użyciu techniki pokazano w tym temacie.Ten temat zawiera opis procedury dodawania testów jednostkowych dla istniejącego kodu Visual C++, rozpoczynając od podejmowania decyzji o sposobie przetestować swoją kodu, a następnie tworzenie zapisywania, a ponadto Uruchamianie testów.

Podejmowania decyzji o sposobie do przetestowania kodu

Otwórz istniejący projekt języka C++ i sprawdzić, aby zdecydować, jak dodać testy jednostek.Można użyć kilku narzędzi modelowania, które pozwalają Zobacz zależności w kodzie i pomaga zrozumieć sposób korzystania przez części.Aby uzyskać więcej informacji, zobacz Tworzenie wizualizacji kodu.

Zaleca się, że Rozdziel zmiany na małe zadania.Przed każdym zmienić mały, zapis testów jednostkowych dla aspekty zachowania, która jest taka sama.Te testy będą nadal przekazywać po dokonaniu zmian.Na przykład aby zmienić funkcji sortowania, aby sortuje listę użytkowników według nazwiska zamiast według imienia, następnie napisania testu jednostki, który sprawdza, czy wszystkie nazwy wejściowe są widoczne w danych wyjściowych.Po dokonaniu zmian, można dodać nowe testy jednostek dla nowego zachowania.

Praktyczne jest wiele lub wszystkie testy jednostek, należy używać tylko funkcje, które zostaną wyeksportowane.Jednak w przypadku, gdy zmieniasz niewielkiej części całej aplikacji, a następnie należy użyć funkcji, które nie są eksportowane.Można na przykład testy, które wywołują funkcje wewnętrzne lub testy, które wartości i służy do pobierania wartości zmiennych wewnętrznych.

Istnieje kilka sposobów do przetestowania kodu produktu, w zależności od tego, czy udostępnia ona interfejsy, które ma zostać przetestowana.Wybierz jedną z następujących sposobów:

  • Testy jednostek użyje tylko funkcje, które zostaną wyeksportowane z testowanego kodu:
    Dodaj projekt testu oddzielne.W projekcie testu Dodaj odwołanie do projektu, w obszarze testu.
Przejdź do procedury można odwoływać się do funkcji wyeksportowane z projektu testowego.
  • Testowanego kodu jest tworzone w postaci pliku .exe:
    Dodaj projekt testu oddzielne.Połącz je z pliku danych wyjściowych obiektu.

    Przejdź do procedury się połączyć testy obiektu lub biblioteki plików.

  • Testy jednostek, należy użyć funkcji prywatne i danych i testowanego kodu można skonstruować jako statyczne biblioteki:
    Zmień projekt w obszarze testu, aby jest skompilowany do pliku .lib.Dodaj projekt testu oddzielne, który odwołuje się do projektu w obszarze testu.

    Ta metoda ma zaletą stosowanie testów do użycia prywatnych elementów członkowskich przy zachowaniu testy w osobnym projekcie.Jednak nie jest odpowiedni w przypadku niektórych aplikacji gdzie musi mieć dołączana dynamicznie biblioteka (DLL.dll).

    Przejdź do procedury można zmienić testowanego kodu w bibliotece statycznych.

  • Testy jednostek, należy użyć funkcji prywatne i danych, a kod musi zostać utworzony jako dołączana dynamicznie biblioteka (DLL):
    Dodaj testy jednostek, w tym samym projekcie jako kod produktu.

    Przejdź do procedury do dodania testy jednostek, w tym samym projekcie.

Tworzenie testów

Aby zmienić testowanego kodu w bibliotece statycznych

  • Jeśli testów muszą używać elementów członkowskich, które nie są eksportowane przez projekt w obszarze testu, a projekt w obszarze testu jest tworzone w postaci dynamicznych biblioteki, należy wziąć pod uwagę konwertując go na statyczny biblioteki.

    1. W Eksploratorze rozwiązań, w menu skrótów projektu w obszarze testu, wybierz polecenie właściwości.Otwiera okno właściwości projektu.

    2. Wybierz właściwości konfiguracji, ogólne.

    3. Ustaw typ konfiguracji do biblioteka statyczna (lib).

Przejdź do procedury się połączyć testy obiektu lub biblioteki plików.

Jako odniesienie do wyeksportowane funkcje z projektu testu

  • Jeśli projekt w obszarze testu eksportuje funkcje, które chcesz przetestować, można dodać odwołanie do projektu kodu z projektu testowego.

    1. Utwórz projekt testu C++.

      • On the File menu, choose New, Project, Visual C++,Test, C++ Unit Test Project.
    2. W Eksploratorze rozwiązań, w menu skrótów projektu testowego, wybierz polecenie odwołuje się do.Otwiera okno właściwości projektu.

    3. Wybierz wspólne właściwości, Framework i odwołuje się do, a następnie wybierz Dodaj nowe odwołanie przycisku.

    4. Wybierz projektów, a następnie projektu do przetestowania.

      Wybierz przycisk Dodaj.

    5. We właściwościach projektu testowego należy dodać lokalizację projektu w obszarze testu obejmują katalogów.

      Wybierz właściwości konfiguracji, VC ++ katalogów, obejmują katalogów.

      Wybierz edytować, a następnie dodaj katalog nagłówka projektu w obszarze testu.

Przejdź do pisania testów jednostkowych.

Aby połączyć testy obiektu lub biblioteki plików

  • Jeśli testowanego kodu nie eksportuje funkcje, które chcesz przetestować, możesz dodać dane wyjściowe .obj lub .lib pliku do zależności projektu testowego.

    1. Utwórz projekt testu C++.

      • On the File menu, choose New, Project, Visual C++,Test, C++ Unit Test Project.
    2. W Eksploratorze rozwiązań, w menu skrótów projektu testowego, wybierz polecenie właściwości.Otwiera okno właściwości projektu.

    3. Wybierz właściwości konfiguracji, łączenie, dane wejściowe, dodatkowe zależności.

      Wybierz edytowaći dodać nazwy .obj lub .lib plików.Nie należy używać nazwy pełnej ścieżki.

    4. Wybierz właściwości konfiguracji, łączenie, ogólne, katalogi dodatkowe biblioteki.

      Wybierz edytowaći dodać ścieżkę katalogu .obj lub .lib plików.Ścieżka jest zwykle w folderze kompilacji projektu w obszarze testu.

    5. Wybierz właściwości konfiguracji, VC ++ katalogów, obejmują katalogów.

      Wybierz edytować, a następnie dodaj katalog nagłówka projektu w obszarze testu.

Przejdź do pisania testów jednostkowych.

Aby dodać testy jednostek w tym samym projekcie

  1. Modyfikuj właściwości projekt kodu produktu użycie nagłówków i pliki biblioteki, które są wymagane na potrzeby testowania jednostek.

    1. W Eksploratorze rozwiązań w menu skrótów projektu w obszarze testu, wybierz polecenie Właściwości.Otwiera okno właściwości projektu.

    2. Wybierz właściwości konfiguracji, VC ++ katalogów.

    3. Edytuj katalogów Include i biblioteki:

      Obejmują katalogów

      $(VCInstallDir)UnitTest\include;$(IncludePath)

      Biblioteka katalogów

      $(VCInstallDir)UnitTest\lib;$(LibraryPath)

  2. Dodawanie pliku testu jednostki C++:

    • W Eksploratorze rozwiązań, w menu skrótów projektu, wybierz polecenie Dodaj, nowy element, a następnie wybierz testu jednostki C++.

Przejdź do pisania testów jednostkowych.

Pisania testów jednostkowych

  1. W każdym pliku kodu testu jednostki Dodaj #include instrukcji w nagłówkach projektu w obszarze testu.

  2. Dodaj testu klas i metod do plików kodu testu jednostki.Na przykład:

    #include "stdafx.h"
    #include "CppUnitTest.h"
    #include "MyProjectUnderTest.h"
    using namespace Microsoft::VisualStudio::CppUnitTestFramework;
    namespace MyTest
    {
      TEST_CLASS(MyTests)
      {
      public:
          TEST_METHOD(MyTestMethod)
          {
              Assert::AreEqual(MyProject::Multiply(2,3), 6);
          }
      };
    }
    

Aby uzyskać więcej informacji, zobacz Testy jednostkowe kodu natywnego za pomocą narzędzia Eksplorator testów.

Uruchamianie testów

  1. Na widoku menu, wybierz polecenie inne okna, Eksploratora testów.

  2. W Eksploratorze testów, wybierz polecenie Uruchom wszystko.

Aby uzyskać więcej informacji, zobacz Szybki start: tworzenie aplikacji z uwzględnieniem testów za pomocą narzędzia Eksplorator testów.