小编Pet*_*hev的帖子

当测试位于其他包装中时,无测试范围

我有集成测试,位于单独的目录中。这些测试通过net / http / httptest在同一进程中运行我的http服务器。我的测试在运行,但没有覆盖范围。

这是一个非常简化的示例,为了简洁起见,不使用http。目录布局:

$GOPATH/src/go-test
  hello
    hello.go
  itest
    integration_test.go
Run Code Online (Sandbox Code Playgroud)

你好

package hello

func Hello() string {
    return "hello"
}
Run Code Online (Sandbox Code Playgroud)

integration_test.go

package itest

import (
    "go-test/hello"
    "testing"
)

func TestHello(t *testing.T) {
    s := hello.Hello()
    if s != "hello" {
        t.Errorf("Hello says %s", s)
    }
}
Run Code Online (Sandbox Code Playgroud)

运行测试:

$ go test -v -coverpkg ./... ./itest
=== RUN   TestHello
--- PASS: TestHello (0.00s)
PASS
coverage: 0.0% of statements in ./...
ok      go-test/itest   0.001s  coverage: 0.0% of statements in ./...
Run Code Online (Sandbox Code Playgroud)

另一尝试:

$ …
Run Code Online (Sandbox Code Playgroud)

testing code-coverage go

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

为什么将JSON视为[]字节而不是字符串?

RFC 7159说

JavaScript Object Notation(JSON)是用于结构化数据序列化的文本格式.

但Go将JSON视为 []byte

func Marshal(v interface{}) ([]byte, error)
func Unmarshal(data []byte, v interface{}) error
Run Code Online (Sandbox Code Playgroud)

为什么这些函数不能获取并返回string

我在这里找不到任何解释 https://golang.org/pkg/encoding/json/ https://blog.golang.org/json-and-go

json go

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

标签 统计

go ×2

code-coverage ×1

json ×1

testing ×1