Корректный результат выполнения Go тестов - PullRequest
2 голосов
/ 07 апреля 2020

Когда я запускаю тест для этого репозитория (просто заполнитель для любого go проекта), используя:

 go test -run="^$" -bench="^BenchmarkLessorRevoke1000$"  ./... 

Вывод, который я получаю, this , результаты теста показаны:

BenchmarkLessorRevoke1000-8      1033351          1141 ns/op

, но также и с целой кучей других результатов теста. как мне сделать так, чтобы показывались только тесты, а не тестовые результаты?

1 Ответ

4 голосов
/ 07 апреля 2020

Вы можете указать фиктивное имя для параметра -run инструмента go test и при условии, что у вас нет тестов, соответствующих этому имени, тогда должны запускаться только тесты.

Вы рассмотрели это с "^$", так что все хорошо, у вас также есть шаблон для сопоставления тестов с "^BenchmarkLessorRevoke1000$".

Проблема в том, что вы запускаете go test во всем пакете и / или подкаталогах с ./....

Вы должны указать тесты, которые вы хотите запустить для каждого пакета.

go test -run="$^" -bench="^BenchmarkLessorRevoke1000$" .
go test -run="$^" -bench="^BenchmarkLessorRevoke1000$" ./pkg1/
go test -run="$^" -bench="^BenchmarkLessorRevoke1000$" ./pkg2/

Также будьте внимательны, если вы действительно хотите запустить тесты массово вы должны делать это отдельно для каждого пакета.

Запуск эталонных тестов для нескольких пакетов будет выполнять их одновременно, искажая результаты.

...