Jestem używany do testowania napędu mojego kodu. Teraz, gdy jestem nowy w Go, staram się jak najszybciej to naprawić. Korzystam z pakietu testowego w standardowej bibliotece, który wydaje się być wystarczająco dobry. (Podoba mi się również, że nie jest to kolejna zewnętrzna zależność. Obecnie jesteśmy na 2 zależnościach - w porównaniu do jakiegokolwiek projektu Java lub Ruby .....) W każdym razie - wygląda na to, że assert w golangu wygląda tak:Testowanie jednostek - rejestracja, a następnie niepowodzenie?
func TestSomething(t *testing.T) {
something := false
if something {
t.Log("Oh noes - something is false")
t.Fail()
}
}
znajdę ten rozwlekły i chciałbym zrobić to w jednym wierszu zamiast:
Assert(something, "Oh noes - something is false")
lub coś podobnego. Mam nadzieję, że przegapiłem coś oczywistego tutaj. Jaki jest najlepszy/idiomatyczny sposób na zrobienie tego?
UPDATE: tylko w celu wyjaśnienia. Gdybym miał zrobić coś takiego:
func AssertTrue(t *testing.T, value bool, message string) {
if value {
t.Log(message)
t.Fail()
}
}
a następnie napisać mój test jak ten
func TestSomething(t *testing.T) {
something := false
AssertTrue(t, something, "Oh noes - something is false")
}
wtedy nie byłoby sposobu iść to zrobić?
przetestować kod Java bez żadnych zależności? Junit nie jest częścią JDK btw. – Woot4Moo
oczywiście, że nie. W porównaniu z Javą podoba mi się, że istnieje biblioteka testów jednostkowych w standardowej bibliotece. W Ruby jest też jeden, chociaż i tak ludzie używają rspec. Nie mam pewności co do najlepszych praktyk ... – froderik
Musiałem błędnie odczytać twoje oryginalne oświadczenie. – Woot4Moo