小编Phi*_*ber的帖子

如何查看 GoLand 调试器是否正在程序中运行?

在 C# 中,执行程序可以使用以下命令检测它是否在调试器中运行:

System.Diagnostics.Debugger.IsAttached
Run Code Online (Sandbox Code Playgroud)

在 Go 中有等价物吗?我有一些超时,我想在我逐步执行代码时将其禁用。谢谢!

我正在使用 GoLand 调试器。

go delve goland

6
推荐指数
2
解决办法
3026
查看次数

如何运行“go test”并包含单元测试文件但排除其他测试文件

我正在尝试在现有的 Go 项目上自动运行单元测试。它已经有很多现有的测试来执行非单元测试的事情,例如联系外部服务和写入数据库。我想使用命名约定从自动化中排除这些测试文件。假设项目的结构是这样的:

gopath/
|-package1.go
|-package1_unit_test.go
|-package1_e2e_test.go
|-package2/
  |-package2.go
  |-package2_unit_test.go
  |-package2_e2e_test.go
Run Code Online (Sandbox Code Playgroud)

我可以go test ./...运行所有测试。如果我在单元测试的名称中包含“UnitTest”,我就可以运行go test ./... -run UnitTest,但这仍然会运行 e2e 测试中的启动代码。我需要它完全忽略这些文件。有人建议运行go test $(go list ./... | grep -v /e2e/)go list输出目录名,而不是文件名,所以这是行不通的。

是的,理想情况下,e2e 测试应该放在不同的目录中,而不是依赖于包的内部结构,但不幸的是,这不是我的同事编写它们的方式。我现在正在寻找快速修复方法!

unit-testing go

3
推荐指数
1
解决办法
3408
查看次数

标签 统计

go ×2

delve ×1

goland ×1

unit-testing ×1