Istnieją dwa sposoby. Łatwo jest użyć -run
flagi i podać wzorzec pasujący do nazw testów, które chcesz uruchomić.
Przykład:
$ go test -run NameOfTest
Zobacz dokumentację, aby uzyskać więcej informacji.
Innym sposobem jest nazwanie określonego pliku zawierającego testy, które chcesz uruchomić:
$ go test foo_test.go
Ale jest haczyk. Działa to dobrze, jeśli:
foo.go
jest w package foo
.
foo_test.go
jest w package foo_test
i importuje „foo”.
Jeśli foo_test.go
i foo.go
są tym samym pakietem (częsty przypadek), musisz nazwać wszystkie inne pliki wymagane do zbudowania foo_test
. W tym przykładzie byłoby to:
$ go test foo_test.go foo.go
Polecam użyć -run
wzoru. Lub, tam gdzie to możliwe, zawsze uruchamiaj wszystkie testy pakietów.
-run
? Nie mogę znaleźć żadnego podręcznika na ten temat.go help testflag
go test utils.go utils_test.go
dane wyjściowe sąok command-line-arguments 0.002s
. To nie uruchamia testu. Powodem, dla którego chcę korzystać z tego trybu testowego jest to, że pakiet zawiera wiele plików i nie kompilują się jeszcze z wyjątkiem utils. Chciałbym więc sfinalizować narzędzia przed uruchomieniem innych plików. Jak mogę to zrobić ?-v
(pełnej) fladze. Z dokumentacji-v Verbose output: log all tests as they are run. Also print all text from Log and Logf calls even if the test succeeds.
Odpowiedź @ zzzz jest w większości kompletna, ale aby uchronić innych przed koniecznością kopania odnośnej dokumentacji , możesz uruchomić pojedynczy test w pakiecie w następujący sposób:
Pamiętaj, że chcesz przekazać nazwę testu, a nie nazwę pliku, w którym test istnieje.
-run
Flaga rzeczywiście akceptuje regex więc można ograniczyć jazdę próbną do klasy testów. Z dokumentów:źródło
Podczas przeprowadzania pojedynczego testu zwykle robię:
-count 1
zapewnia również, że test jest uruchamiany za każdym razem zamiast buforowania. Przydatne, gdy testujesz w warunkach wyścigowych i zdajesz test, który czasami kończy się niepowodzeniem. W wersjach Go nie wykorzystujących modułów to samo można osiągnąć przez ustawienie,GOCACHE=off
ale źle to współdziała z modułami Go.źródło
we wtyczce go-lang intelliJ IDEA (i zakładam, że w jetbrains Gogland) możesz po prostu ustawić rodzaj testu na plik w trakcie uruchamiania> edytuj konfiguracje
źródło
źródło
Zapobiega buforowaniu wyników testu.
źródło
go
pliku testowym w tym pakiecie-run TestCaseFunc
źródło