【发布时间】:2019-05-02 13:54:13
【问题描述】:
我有一个用 Golang 编写的网络服务。
我需要重构它,因为它写得不好。
我看到 Golang 使用 TestMethodName(t *testing.T) 格式工作。这非常适合单元测试,但在我的例子中,由于重构,方法会发生很大变化。
这就是我想编写功能测试的原因,这样我就可以测试每个端点,并检查输出是否具有正确的格式,而不依赖于函数
我应该如何使用 Golang?
是否有任何框架可以帮助我进行功能测试?在另一个堆栈中,例如 PHP / Laravel,我可以将 PostgreSQL 与 SQLite 或内存测试交换,这对于此类测试非常实用。
【问题讨论】:
-
我看不出测试包“非常适合单元测试”如何使它不适合功能测试。
-
只要函数的输入输出不变,你可以继续使用相同的测试
-
仅仅因为函数通常被命名为
TestMethodName,并不意味着你必须使用那个命名方案,或者不能测试你想要的任何东西。查看任何大型 Go 项目,您会看到各种测试,在所有集成级别。 -
@JuliatzindelToro 询问框架/库建议的问题是题外话 (*.com/help/on-topic)。如果您需要帮助,请向我们展示您尝试过的代码并解释您遇到的问题 (*.com/help/how-to-ask)。
标签: go testing functional-testing