即使一个测试用例失败,如何运行所有测试用例

func Test_something(t *testing.T) {

    // TEST CASE1: pass an array 

      // some logic here


    // TEST CASE2: pass an EMPTY array --> this will cause test to fail

      // some logic here


    // TEST CASE3: pass something else 

      // some logic here

我正在编写一些单元测试,但我不确定是否可以运行Test_something具有多个测试用例的测试,而不会在一个测试用例失败时停止执行其他测试用例。或者它甚至有意义吗?


在控制台中,我希望看到这样的东西。


TESTCASE1: SUCCESS <message>

TESTCASE2: FAIL <message>

TESTCASE3: SUCCESS <message>

此刻我得到这样的东西:


TESTCASE1: SUCCESS <message>

TESTCASE2: FAIL <message>

TESTCASE2失败后自然会停止执行。


翻过高山走不出你
浏览 128回答 2
2回答

哔哔one

testing.T.Run您可以在函数的帮助下使用子测试。它允许将多个测试用例收集在一起,并为每个测试用例提供单独的状态。func TestSomething(t *testing.T) {&nbsp; &nbsp; t.Run("first test case", func(t *testing.T) {&nbsp; &nbsp; &nbsp; &nbsp; // implement your first test case here&nbsp; &nbsp; })&nbsp; &nbsp; t.Run("second test case", func(t *testing.T) {&nbsp; &nbsp; &nbsp; &nbsp; // implement your second test case here&nbsp; &nbsp; }}

jeck猫

t *testing.T你可以打电话给:t.Errorf(...): 它不会停止下一个测试。t.Fatalf(...): 它将停止下一次测试。请参阅官方文档。
打开App,查看更多内容
随时随地看视频慕课网APP