由于先前的测试用例失败而引发的断言异常

Abh*_*oni 3 testing junit unit-testing assert go

我想不出更好的标题。

在下面的代码中,如果rollBackLoggernil,第一个测试用例将失败,但所有其他测试用例将引发异常。

有没有办法避免这种情况,除了使用 if语句?

我相信这是单元测试非常常见的情况,应该有一些功能assert或其他方式来避免这种情况。

assert.NotNil(rollbackLogger)
assert.Equal("Action", rollBackLogger[0].Action)
assert.Equal("random path", rollBackLogger[0].FilePath)
Run Code Online (Sandbox Code Playgroud)

Pet*_*ter 5

使用require.NotNil代替。

包 require 实现与assert包相同的断言,但在测试失败时停止测试执行。

require.NoError 也特别有用。