Şu anda, belirli bir kod parçasının panik yapıp yapmadığını kontrol eden testlerin nasıl yazılacağını düşünüyorum? Go'nun recover
paniği yakalamak için kullandığını biliyorum , ancak örneğin Java kodunun aksine, panik durumunda veya neye sahip olduğunuzda hangi kodun atlanması gerektiğini gerçekten belirleyemezsiniz. Yani bir işlevim varsa:
func f(t *testing.T) {
defer func() {
if r := recover(); r != nil {
fmt.Println("Recovered in f", r)
}
}()
OtherFunctionThatPanics()
t.Errorf("The code did not panic")
}
OtherFunctionThatPanics
Paniklediğimizi ve iyileştiğimizi veya işlevin hiç panik yapmadığını gerçekten söyleyemem . Panik yoksa hangi kodu atlayacağımı ve panik olduğunda hangi kodu çalıştıracağımı nasıl belirleyebilirim? Kurtulduğumuz bir panik olup olmadığını nasıl kontrol edebilirim?