0

我的 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 等。

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

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

谢谢。

4

1 回答 1

0

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

$ go test ./...

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

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

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

$ ./bin/run_tests.sh

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

于 2016-04-03T00:13:38.643 回答