大家好,今天本人给大家带来文章《减少银杏规格/测试的重复》,文中内容主要涉及到,如果你对Golang方面的知识点感兴趣,那就请各位朋友继续看下去吧~希望能真正帮到你们,谢谢!
问题内容我正在使用 ginkgo 框架编写测试,并希望减少测试中的重复。假设我有两个测试,它们具有完全相同的中间部分,但开始和结束部分不同。 ginkgo 提供了 BeforeEach
函数来从一开始就删除重复项,但我找不到任何语法来在 Describe
节点中定义一个简单的实用函数。我能想到的最好的办法是将函数分配给变量,但容器节点中不允许变量初始化。
正确答案
我不完全确定在描述节点中编写实用程序的语法是什么意思。如果您查看他们的文档描述,上下文等都是容器节点,只是为了更好地管理测试描述和可读性而进行的糖衣。我们无法在这些容器节点中保存代码。唯一执行的代码位于 ginkgo.specify
内部
参考此链接:https://onsi.github.io/ginkgo/#adding-specs-to-a-suite
现在,要解决您的问题,这基本上是一个测试设计问题,这完全取决于您如何设计测试用例。您可以简单地引入用于测试数据/可重用函数的装置文件。例如,我们有这样的结构:
Testsuite:
|- a_runnertest.go - only controls spec runs
|- b_case.go - handles cases
|- c_fixture.go - handles all reusable functions and test data
现在,对于任何可重用并希望在各种描述中使用的函数,我们将该代码移至固定装置并在 b_case.go 中调用它。未来它也将具有可扩展性。
好了,本文到此结束,带大家了解了《减少银杏规格/测试的重复》,希望本文对你有所帮助!关注编程网公众号,给大家分享更多Golang知识!