Я привык тестировать свой код. Теперь, когда я новичок в Go, я стараюсь сделать все как можно быстрее. Я использую тестовый пакет в стандартной библиотеке, которая кажется достаточно хорошей. (Мне также нравится, что это еще не внешняя зависимость. В настоящее время мы имеем 2 зависимости в зависимости от любого проекта Java или Ruby .....) В любом случае - похоже, что утверждение в golang выглядит так:Тестирование модулей - журнал, а затем сбой?
func TestSomething(t *testing.T) {
something := false
if something {
t.Log("Oh noes - something is false")
t.Fail()
}
}
Я нахожу это многословным и хотел бы сделать это на одной строке вместо:
Assert(something, "Oh noes - something is false")
или что-то подобное. Надеюсь, что я пропустил что-то очевидное здесь. Какой лучший/идиоматический способ сделать это в go?
ОБНОВЛЕНИЕ: только для уточнения. Если бы я должен был сделать что-то вроде этого:
func AssertTrue(t *testing.T, value bool, message string) {
if value {
t.Log(message)
t.Fail()
}
}
, а затем написать свой тест, как этот
func TestSomething(t *testing.T) {
something := false
AssertTrue(t, something, "Oh noes - something is false")
}
, то это не было бы в идти способ сделать это?
тестировать код Java без каких-либо зависимостей? Junit не является частью JDK кстати. – Woot4Moo
конечно нет. По сравнению с Java мне нравится, что в стандартной библиотеке есть единая тестовая среда. В Ruby есть и один, хотя люди все равно используют rspec. Не уверен в лучших практиках в go ... – froderik
Я, должно быть, неправильно прочитал ваше первоначальное заявление. – Woot4Moo