当前位置:   article > 正文

JetBrains GoLand单元测试不支持单个单元测试case执行

JetBrains GoLand单元测试不支持单个单元测试case执行

譬如函数代码

  1. func AddInt(a, b int32) int32 {
  2. return a + b
  3. }

单元测试代码:

  1. func TestAddInt(t *testing.T) {
  2. type args struct {
  3. a int32
  4. b int32
  5. }
  6. tests := []struct {
  7. name string
  8. args args
  9. want int32
  10. }{
  11. {
  12. name: "add",
  13. args: args{a: 1, b: 2},
  14. want: 3},
  15. {
  16. name: "add",
  17. args: args{a: 1, b: -2},
  18. want: -1,
  19. },
  20. }
  21. for _, tt := range tests {
  22. t.Run(tt.name, func(t *testing.T) {
  23. if got := AddInt(tt.args.a, tt.args.b); got != tt.want {
  24. t.Errorf("AddInt() = %v, want %v", got, tt.want)
  25. }
  26. })
  27. }
  28. }

以上单元测试代码在GoLand中截图如图:

第15、19行是有可以运行符号的,此时可以单个case运行调试。

如果在25、26行之间加点逻辑代码,如下:

此时15、19行的运行图标没有了!

原因是在Run外添加处理逻辑,正确的添加逻辑位置如图所示,应该在Run函数内部。

此坑在开始写单元测试时踩了好久,在某天突然悟道此原因,记录之。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/934462
推荐阅读
相关标签
  

闽ICP备14008679号