Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Istnieje kilka sposobów testowania kodu DLL, w zależności od tego, czy eksportuje funkcje, które chcesz przetestować. Wybierz jeden z następujących sposobów:
Testy jednostkowe wywołają tylko funkcje wyeksportowane z biblioteki DLL: Dodaj oddzielny projekt testowy zgodnie z opisem w artykule Pisanie testów jednostkowych dla języka C/C++. W projekcie testowym dodaj odwołanie do projektu DLL.
Przejdź do procedury Aby odwołać się do wyeksportowanych funkcji z projektu DLL.
Biblioteka DLL jest kompilowana jako plik exe: Dodaj oddzielny projekt testowy. Połącz go z plikiem obiektu wyjściowego.
Przejdź do procedury Aby połączyć testy z plikami obiektów lub bibliotek.
Testy jednostkowe wywołają funkcje inne niż składowe, które nie są eksportowane z biblioteki DLL, a biblioteka DLL może zostać skompilowana jako biblioteka statyczna: Zmień projekt DLL, aby został skompilowany do pliku .lib . Dodaj oddzielny projekt testowy, który odwołuje się do projektu testowego.
Takie podejście ma korzyść z umożliwienia testom używania nie wyeksportowanych elementów członkowskich, ale nadal utrzymuje testy w osobnym projekcie.
Przejdź do procedury Aby zmienić bibliotekę DLL na bibliotekę statyczną.
Testy jednostkowe muszą wywoływać funkcje inne niż składowe, które nie są eksportowane, a kod musi zostać skompilowany jako dynamiczna biblioteka linków (DLL): dodaj testy jednostkowe w tym samym projekcie co kod produktu.
Przejdź do procedury Aby dodać testy jednostkowe w tym samym projekcie.
Tworzenie testów
Aby zmienić bibliotekę DLL na bibliotekę statyczną
Jeśli testy muszą używać elementów członkowskich, które nie są eksportowane przez projekt DLL, a projekt testowany jest kompilowany jako biblioteka dynamiczna, rozważ przekonwertowanie go na bibliotekę statyczną.
W Eksplorator rozwiązań w menu skrótów projektu w ramach testu wybierz pozycję Właściwości. Zostanie otwarte okno Właściwości projektu.
Wybierz pozycję Właściwości>konfiguracji Ogólne.
Ustaw wartość Typ konfiguracji na wartość Biblioteka statyczna (.lib).
Kontynuuj pracę z procedurą Aby połączyć testy z plikami obiektów lub biblioteki.
Aby odwołać się do wyeksportowanych funkcji DLL z projektu testowego
Jeśli projekt DLL eksportuje funkcje, które chcesz przetestować, możesz dodać odwołanie do projektu kodu z projektu testowego.
Utwórz natywny projekt testów jednostkowych.
- W menu Plik wybierz pozycję Nowy>projekt. W oknie dialogowym Dodawanie nowego projektu ustaw wartość Język na C++ i wpisz "test" w polu wyszukiwania. Następnie wybierz projekt natywnego testu jednostkowego.
W Eksplorator rozwiązań kliknij prawym przyciskiem myszy projekt testowy, a następnie wybierz polecenie Dodaj>odwołanie.
Wybierz pozycję Projekty, a następnie projekt do przetestowania.
Wybierz przycisk Dodaj.
We właściwościach projektu testowego dodaj lokalizację projektu testowego do katalogów dołączania.
Wybierz pozycję Właściwości>konfiguracji Katalogi dołączania> VC++.
Wybierz pozycję Edytuj, a następnie dodaj katalog nagłówkowy projektu w ramach testu.
Przejdź do pozycji Pisanie testów jednostkowych.
Aby połączyć testy z plikami obiektów lub bibliotek
Jeśli biblioteka DLL nie eksportuje funkcji, które chcesz przetestować, możesz dodać plik wyjściowy obj lub lib do zależności projektu testowego.
Utwórz natywny projekt testów jednostkowych.
- W menu Plik wybierz pozycję Nowy>projekt. W oknie dialogowym Dodawanie nowego projektu ustaw wartość Język na C++ i wpisz "test" w polu wyszukiwania. Następnie wybierz projekt natywnego testu jednostkowego.
W Eksplorator rozwiązań w menu skrótów projektu testowego wybierz pozycję Właściwości.
Wybierz pozycję Właściwości>konfiguracji, aby>>wprowadzić dodatkowe zależności.
Wybierz pozycję Edytuj i dodaj nazwy plików .obj lub .lib . Nie używaj pełnych nazw ścieżek.
Wybierz pozycję Właściwości>konfiguracji Konsolidator>ogólne>dodatkowe katalogi bibliotek.
Wybierz pozycję Edytuj i dodaj ścieżkę katalogu plików .obj lub .lib . Ścieżka jest zwykle w folderze kompilacji projektu testowego.
Wybierz pozycję Właściwości>konfiguracji Katalogi dołączania> VC++.
Wybierz pozycję Edytuj, a następnie dodaj katalog nagłówkowy projektu w ramach testu.
Przejdź do pozycji Pisanie testów jednostkowych.
Aby dodać testy jednostkowe w tym samym projekcie
Zmodyfikuj właściwości projektu kodu produktu, aby uwzględnić nagłówki i pliki biblioteki wymagane do testowania jednostkowego.
W Eksplorator rozwiązań w menu skrótów projektu w ramach testu wybierz pozycję Właściwości. Zostanie otwarte okno Właściwości projektu.
Wybierz pozycję Właściwości>konfiguracji Katalogi VC++.
Edytuj katalogi dołączania i biblioteki:
Katalog Właściwości Dołączanie katalogów $(VCInstallDir)Auxiliary\VS\UnitTest\include Katalogi bibliotek $(VCInstallDir)Auxiliary\VS\UnitTest\lib
Dodaj plik testu jednostkowego języka C++:
Kliknij prawym przyciskiem myszy węzeł projektu w Eksplorator rozwiązań i wybierz polecenie Dodaj>nowy element.
W oknie dialogowym Dodawanie nowego elementu wybierz pozycję Plik C++ (cpp), nadaj mu odpowiednią nazwę, a następnie wybierz pozycję Dodaj.
Przejdź do pozycji Pisanie testów jednostkowych.
Pisanie testów jednostkowych
W każdym pliku kodu testu jednostkowego dodaj instrukcję
#include
dla nagłówków projektu w ramach testu.Dodaj klasy i metody testów do plików kodu testu jednostkowego. 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); } }; }
Uruchamianie testów
W menu Test wybierz pozycję Eksplorator testów systemu Windows>.
Jeśli nie wszystkie testy są widoczne w oknie, skompiluj projekt testowy: kliknij prawym przyciskiem myszy swój węzeł w Eksplorator rozwiązań i wybierz polecenie Kompiluj lub ponownie.
W Eksploratorze testów wybierz pozycję Uruchom wszystko lub wybierz określone testy, które chcesz uruchomić. Kliknij prawym przyciskiem myszy test dla innych opcji, na przykład, aby uruchomić go w trybie debugowania z włączonymi punktami przerwania.
Powiązana zawartość
- Pisanie testów jednostkowych dla języka C/C++
- Dokumentacja interfejsu API Microsoft.VisualStudio.TestTools.CppUnitTestFramework
- Debugowanie kodu natywnego
- Przewodnik: tworzenie i używanie biblioteki linków dynamicznych (C++)
- Importowanie i eksportowanie
- Szybki start: programowanie oparte na testach za pomocą Eksploratora testów