登录
首页 >  Golang >  Go问答

正确的方法在 ginkgo 测试中验证值的方法

来源:stackoverflow

时间:2024-02-25 22:54:24 178浏览 收藏

学习Golang要努力,但是不要急!今天的这篇文章《正确的方法在 ginkgo 测试中验证值的方法》将会介绍到等等知识点,如果你想深入学习Golang,可以关注我!我会持续更新相关文章的,希望对大家都能有所帮助!

问题内容

假设函数 builder 返回如下结构:

type mystruct struct{
      list  []otherstruct

 }

我想使用 ginkgo 测试 builder 函数。我创建了一个具有以下结构的测试套件:

Describe("Builder Test", func() {
    var (
       testInstance Mystruct
       err error
    )

    BeforeEach(func(){
        testInstance, err = Builder()
    })

    It("Should not fail", func(){
       Expect(err).NotTo(HaveOccurred())
    })

    It("Should have a valid List", func(){
       Expect(testInstance.List).To(HaveLen(1))
    })

    It("Should pass some tests", func(){
       Expect(testInstance.List).To(SomeCheck())
    })

    It("Should pass other tests", func(){
       Expect(testInstance.List).To(OtherCheck())
    })

    It("Should pass yet nother tests", func(){
       Expect(testInstance.List).To(YetSomeCheck())
    })

})

但是,如果由于某种原因 builder 无法正确初始化 testinstance 并且 list 字段未初始化,则所有 it 测试都会因索引越界而失败,并出现 panic。由于我预计测试数量会增加,因此我想防止这种情况发生。我添加了“it”(“应该有一个有效的列表”)assertion,但这并不能阻止 otherit` 的执行和失败。

我想知道是否有一种惯用的方法可以在执行使用它的 it 子句之前添加对 testinstance.list 是否有效的检查。


解决方案


根据ginkgo's documentation

今天关于《正确的方法在 ginkgo 测试中验证值的方法》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>