2014-09-29 7 views
7

Mam pakiet testowy dla pakietu Go, który implementuje kilkanaście testów. Czasami jeden z testów w pakiecie kończy się niepowodzeniem i chciałbym ponownie uruchomić ten test indywidualnie, aby zaoszczędzić czas w procesie debugowania. Czy to możliwe, czy muszę za każdym razem napisać osobny plik?Po prostu uruchom jeden test zamiast całego zestawu?

+1

'przejść run - run regexp' uruchomi tylko testy, których nazwa pasuje do wyrażenia regularnego. [docs] (https://golang.org/cmd/go/#hdr-Description_of_testing_flags) –

+1

Dzięki. Ale powinno być 'go test -run' – lang2

Odpowiedz

17

Użyj flagi go test -run, aby uruchomić konkretny test. Flaga jest udokumentowana w testing flags section dokumentacji go tool:

-run regexp 
    Run only those tests and examples matching the regular 
    expression. 
1

w przypadku kogoś, kto korzysta z Ginkgo BDD ram idź będzie miał ten sam problem, to może być osiągnięte w tym kontekście przez oznakowania testowej specyfikacji jako koncentruje (see docs), poprzedzając F przed funkcjami It, Context lub Describe.

Tak więc, jeśli masz Spec jak:

It("should be idempotent", func() { 

można przepisać jako:

FIt("should be idempotent", func() { 

A to będzie działać dokładnie, że jedną specyfikację:

[Fail] testing Migrate setCurrentDbVersion [It] should be idempotent 
... 
Ran 1 of 5 Specs in 0.003 seconds 
FAIL! -- 0 Passed | 1 Failed | 0 Pending | 4 Skipped 
Powiązane problemy