Как мне динамически пропустить тесты в Голанге? - PullRequest
0 голосов
/ 05 декабря 2018

У нас есть специальный текстовый файл на HTTP-сервере, который содержит имена файлов и тестовые функции, которые мы хотим пропустить при запуске наших тестов golang.

Я должен создать что-то, что загружает этот тестовый файл, анализирует имена файлови тестовые функции, которые нужно пропустить, а затем, наконец, запустить наши тесты go и правильно пропустить тестовые функции, найденные во входном файле.

Как правильно выполнить эту работу в golang?

(Я понимаю, что это звучит как необычный способ пропустить, но мы действительно хотим сделать эту работу, как я описал, по причинам, не зависящим от этого вопроса.)

1 Ответ

0 голосов
/ 05 декабря 2018

Вы можете пропустить тестовые случаи с помощью функции (* testing.T) .Skip ().Вы можете скачать тестовый файл в функции init тестового файла go.Затем проанализируйте и загрузите имена функций в карту или массив.Перед запуском каждого случая проверьте, включен ли тестовый пример в список пропуска, и пропустите, если необходимо.

// Psuedo code -> foo_test.go
var skipCases map[string]bool

func init() {
    // download and parse test file.
    // add test case names which needs skipped into skipCases map
}

func TestFoo(t *testing.T) {
    if skipCases["TestFoo"] {
        t.Skip()
    }
    // else continue testing
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...