gpt4 book ai didi

unit-testing - 我可以期望(要求)go 测试失败吗?

转载 作者:IT王子 更新时间:2023-10-29 02:22:14 26 4
gpt4 key购买 nike

在我使用的其他测试框架中,当编写测试助手时,能够自动测试它们是很好的,即测试它们是否通过以及是否失败。

让我使用以下帮助程序(实际上要复杂得多):

func IsRedirect(t *testing.T, code int) {
assert.True(t, code >= 300)
assert.True(t, code < 400)
}

当然,我可以写:

func TestIsRedirect(t *testing.T) {
IsRedirect(t, http.StatusSeeOther)
}

但我也想写这样的东西:

func TestNotRedirect(t *testing.T) {
t.RequireFailure()
IsRedirect(t, http.StatusOK)
}

注意,我真的不想写:

func IsRedirect(code int) bool

因为该函数不仅有一个或两个可能失败的条件,而且我希望能够对特定的失败案例进行断言

最佳答案

您可以执行以下操作:

func IsRedirect(t *testing.T, code int, b bool) {
assert.Equal(t, b, code >= 300)
assert.Equal(t, b, code < 400)
}

func TestNotRedirect(t *testing.T) {
IsRedirect(t, http.StatusOK, false)
}

关于unit-testing - 我可以期望(要求)go 测试失败吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42599382/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com