【问题标题】:Right structure of tests files when used ginkgo/gomega for testing Go app使用 ginkgo/gomega 测试 Go 应用时测试文件的正确结构
【发布时间】:2015-11-30 12:18:25
【问题描述】:

我的 Go 应用程序(restfull api 服务)正在增长,我决定使用测试。我的选择是银杏/Gomega。

学习网站 (http://onsi.github.io/ginkgo/#getting-started-writing-your-first-test) 我发现你需要开始测试

  1. 转到包
  2. 银杏引导

这将在包文件夹的根目录中创建文件 [your_package]_suite_test。 没关系。

但是如果我想测试一些功能或文件或包,我需要再次 转到文件夹并 ginkgo 生成 [test_name] ,它将在此处创建存根测试文件。

因此,在某一时刻,我们将有很多杂乱无章的文件:我们的应用程序文件和测试文件一起放在一个文件夹中。 例如, server.go、server_test.go、auth.go、auth_test.go 等等。

我想分割应用文件和测试文件。例如,我想在根包中创建一个文件夹测试并将所有测试放在这里。 所以,当我需要测试应用程序时,我可以运行 go test ./tests

将 Ginkgo/Gomega 与单独的测试文件夹一起使用是否正确?

谢谢。

【问题讨论】:

    标签: testing go bdd ginkgo


    【解决方案1】:

    在 Go 中,无论您的测试文件位于何处,您都可以使用单个命令运行给定项目的所有测试。在终端中,切换到您的项目基目录并运行:

    $ go test ./...
    

    在我的 Go 项目中,我通常有一个单独的 Bash 脚本来为我执行此操作。例如,您可以将其放置在 bin/run_tests.sh 中,内容如下:

    #!/bin/bash -e
    time go test ./... | grep -v '^?'
    

    使这个文件可执行然后运行它:

    $ ./bin/run_tests.sh
    

    我没有单独的 test 文件夹。从大多数 Go 项目来看,我看到开发人员的目标是将测试文件放在被测试文件所在的同一目录中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-21
      相关资源
      最近更新 更多