Я пишу testcases для метода с оленьей кожей возвращают никаких значений, например, для:Запуск testcases в golang во время исключения
func GetByNameReturnNull(serName string)
{
//Logic
}
Моего testcasefile является myTest.go, который имеет два параметра, один вызывая метод с недопустимым вводом и вызов метода с допустимым вводом.
func Test1(t *testing.T) {
GetByNameReturnNull("Invalid")
}
func Test2(t *testing.T) {
GetByNameReturnNull("valid")
}
Итак, первый TestCase потерпит неудачу и бросить исключение, я не могу справиться с этим обычным способом, как,
«проверить ERR из возвращенного метода, так как метод оленьей кожи возвращать что-либо вообще. Когда я выполнить команду,
$go test ./... -v
второй TestCase не будет выполняться из-за исключением первого.
Таким образом, без изменения какой-либо логики в базовый методе (GetByNameReturnNull), чтобы вернуть ERR или что-нибудь, есть ли способ справиться с таким сценарием в файле тестового сам для печати
1 fail 1 pass in the output?
Если мы предположим, что эта функция 'GetByNameReturnNull' не может быть изменен, чтобы вернуть ошибку? Если он может создать ошибку, он должен действительно вернуть его. – Intermernet
Если да, пожалуйста, посмотрите http://blog.golang.org/defer-panic-and-recover – Intermernet
Я также не хочу откладывать тестовые окна, он должен выполнять тестовые строки в последовательности, например test1, test2, test3 , и, наконец, если какой-либо из тестов завершится неудачей, он должен вернуть 1 проход 2, предположим, что если все тестовые проходы проходят, выход должен быть 3-х прохода ... – user1907849