1

我真的很喜欢作证带来的东西go test。但是,我翻阅了文档,没有看到有关如何处理多个断言的任何内容。

Go 是否处理“第一次失败”,即它在第一个错误断言时失败,还是只关心测试方法中的最后一个断言?

4

1 回答 1

9

您可以使用与 assert 具有完全相同接口的 testify/require,但它会在失败时终止执行。http://godoc.org/github.com/stretchr/testify/require

import (
    "testing"
    "github.com/stretchr/testify/require"
    "github.com/stretchr/testify/assert"
)

func TestWithRequire(t *testing.T) {
    require.True(t, false) // fails and terminates
    require.True(t, true) // never executed
}

func TestWithAssert(t *testing.T) {
    assert.True(t, false) // fails
    assert.True(t, false) // fails as well
}
于 2017-03-28T12:58:33.253 回答