【问题标题】:Cannot run individual tests in a test suite inside GoLand IDE?无法在 GoLand IDE 内的测试套件中运行单个测试?
【发布时间】:2018-08-31 10:36:57
【问题描述】:

我正在使用testify's test suite 支持编写单元测试。这导致我的测试文件有一个 TestFooBar(t *testing.T)suite.Run 相比,而我所有的单独测试都成为我的测试套件的一部分 struct 带有方法签名,例如 - func (suite *myTestSuite) TestMyStuff()

我观察到 GoLand 可以识别所有签名类似于TestFooBar(t *testing.T) 的方法,并在其旁边放置一个绿色的播放图标。它将允许我单独运行/调试这些方法。但是,作为上述测试套件一部分的所有测试方法都不会被识别,也无法在 IDE 中单独运行或调试。

有什么方法可以告诉 GoLand myTestSuite 结构有许多测试可以让我在 IDE 中单独执行它们?

(类似的问题 here 但这只是在谈论命令行,而我的问题是专门针对 IDE 的。)

【问题讨论】:

  • 为什么用 testify it 让事情变得更难?
  • 除了 testify 之外,还有什么方法可以让我编写可以运行的代码 - beforeTestSuite、beforeTest、afterTest 和 afterTestSuite?如果我没有作证但想知道是否有更好的方法,我可以手动完成所有操作。
  • 对反对票感到好奇。我在这里遗漏了什么还是 golang 人真的讨厌作证?
  • Testify 将旧垃圾带回一些不错的测试包并污染它。
  • 好的,我是 golang 的新手,偶然发现了 testify 编写测试夹具。对于需要设置和拆除(如果不作证)的单元测试,您会推荐哪些选项?

标签: unit-testing go goland testify


【解决方案1】:

目前,IDE 不支持从 testify 中识别测试。这是一个问题,https://youtrack.jetbrains.com/issue/GO-3066,我们希望我们能尽快完成。

作为一种解决方法,您可以通过 Run | 手动编辑运行配置。编辑配置... | + | Go Test 并将参数传递给 Go Tool 以获取您需要调试的测试。

【讨论】:

    【解决方案2】:

    解决方法:移除套件接收器,进行测试,然后将套件接收器放回原处。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-25
      • 2014-02-20
      • 2019-08-22
      • 2019-10-21
      • 2016-11-24
      • 1970-01-01
      • 1970-01-01
      • 2022-01-22
      相关资源
      最近更新 更多