只运行单个测试而不是整个套件?

新手上路,请多包涵

我有一个用于实现十几个测试的 Go 包的测试套件。有时,套件中的一项测试失败,我想单独重新运行该测试以节省调试过程的时间。这是可能的还是我每次都必须为此编写一个单独的文件?

原文由 lang2 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 385
2 个回答

使用 go test -run 标志运行特定测试。该标志记录在 go 工具 文档的 测试标志部分

 -run regexp
    Run only those tests and examples matching the regular
    expression.

原文由 Simon Fox 发布,翻译遵循 CC BY-SA 4.0 许可协议

如果使用 Ginkgo BDD 框架的人遇到同样的问题,这可以通过在该框架中将测试规范标记为重点( 参见文档),通过在 F 之前 It , ContextDescribe 函数。

所以,如果你有这样的规范:

     It("should be idempotent", func() {

您将其重写为:

     FIt("should be idempotent", func() {

它将完全运行那个规范:

 [Fail] testing Migrate setCurrentDbVersion [It] should be idempotent
...
Ran 1 of 5 Specs in 0.003 seconds
FAIL! -- 0 Passed | 1 Failed | 0 Pending | 4 Skipped

原文由 Bunyk 发布,翻译遵循 CC BY-SA 4.0 许可协议

推荐问题