gpt4 book ai didi

testing - 使用 ginkgo/gomega 测试 Go 应用程序时测试文件的正确结构

转载 作者:数据小太阳 更新时间:2023-10-29 03:28:16 25 4
gpt4 key购买 nike

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

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

  1. 转到包裹
  2. 银杏 Bootstrap

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

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

所以,一会儿我们就会有很多乱七八糟的东西:我们的应用程序文件和测试文件一起放在一个文件夹中。例如,server.go、server_test.go、auth.go、auth_test.go 等。

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

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

谢谢。

最佳答案

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

$ go test ./...

在我的 Go 项目中,我通常有一个单独的 Bash 脚本来为我做这件事。例如,您可以将其放在 bin/run_tests.sh 中,内容如下:

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

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

$ ./bin/run_tests.sh

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

关于testing - 使用 ginkgo/gomega 测试 Go 应用程序时测试文件的正确结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32396372/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com