【发布时间】:2020-01-16 21:33:58
【问题描述】:
我想使用 Go 和 MySQL 编写一个集成测试。但我很困惑如何做到这一点。我有 4 个函数:创建、获取、更新和删除。如果我只有一个测试函数来测试我的所有代码,这是一个好习惯吗?例如:
func TestCRUD(t *testing.T){
t.Run("success case", func(t *testing.T){
// call create func
// call update func
// call get func
// call delete func
})
}
如果我有上面的代码,我只有一个测试函数来测试我的所有代码。如果我想添加一个测试用例,我只需添加到TestCRUD() 函数。这是一个好习惯吗?
或者我应该为每个 CRUD 函数编写测试函数吗?所以我有4个测试功能,每个测试功能也有很多测试用例。如何编写干净的集成测试?
【问题讨论】:
-
这真的取决于。很自然的事情是对四种方法中的每一种进行单独的测试。除非有充分的理由不这样做,例如如果您使用您创建的东西之后获取和删除。
标签: go testing integration-testing