标签: go-generate

GoLand 未运行测试

我正在测试一种方法,一切似乎都很好。但是,当我在 GoLand 中运行测试时,我可以在输出中看到测试“通过”,但测试运行器显示“没有运行测试”。

这是示例方法calculator.go

package calculator

import (
    "fmt"
)

type Calculator struct {}

func New() Calculator {
    return Calculator{}
}


func (s *Calculator) AddTwoNumbers(num_one, num_two int) int {
    fmt.Printf("adding")
    return num_one + num_two
}
Run Code Online (Sandbox Code Playgroud)

这是测试calculator_test.go

package calculator

import (
    "fmt"
    "testing"
)

func Test_Calculator_AddTwoNumbers(t *testing.T) {
    // Arrange
    calculator := New()

    // Act
    total := calculator.AddTwoNumbers(1,2)

    // Assert
    if total != 3 {
        msg := fmt.Sprintf("total should have been %d but instead was %d", 3, total) …
Run Code Online (Sandbox Code Playgroud)

testing jetbrains-ide go goland go-generate

8
推荐指数
1
解决办法
5764
查看次数

gqlgen:生成了不需要的解析器

我正在使用gqlgen,并且我想向查询解析器添加一个新方法。添加的方法看起来像这样:

type Query {
...
Foo(bar: Int!): Foo
...
}
Run Code Online (Sandbox Code Playgroud)

的类型Foo已在文件中声明,并且正在正确映射到文件中的模型.go(我知道这一点是因为以前使用该类型的方法)。当我尝试从上面的添加生成代码时,一个新的代码FooResolver被添加到ResolverRoot.

有什么想法为什么会出现这种情况吗?

go graphql go-generate gqlgen

6
推荐指数
0
解决办法
342
查看次数

Go生成仅扫描main.go

从项目目录的根目录运行 gogenerate 时,我在使用 gogenerate 生成 grpc 服务器时遇到一些问题。

当我运行时go generate -v它只返回main.go. 但是,这些指令是在子包之一中定义的。如果我go generate在子包中运行,它会按预期工作。我希望导入能够确保go generate找到子包并运行指令。

该项目具有以下结构:

cmd/
  root.go
  run.go
pkg/
  subpkg/
    protobuf/
      proto1.proto
    subpkg.go
main.go
Run Code Online (Sandbox Code Playgroud)

subpkg.go 的内容

//go:generate protoc -I ./protobuf --go_out=plugins=grpc:./protobuf ./protobuf/proto1.proto
package subpkg

Run Code Online (Sandbox Code Playgroud)

main.go 的内容:

cmd/
  root.go
  run.go
pkg/
  subpkg/
    protobuf/
      proto1.proto
    subpkg.go
main.go
Run Code Online (Sandbox Code Playgroud)

在 run.go 包中,我导入了包 subpkg。

如何确保 gogenerate 可以从项目的根目录运行并执行所有子包中的所有指令。

go go-generate

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

标签 统计

go ×3

go-generate ×3

goland ×1

gqlgen ×1

graphql ×1

jetbrains-ide ×1

testing ×1