设为首页 加入收藏

TOP

golang单元测试一(简单函数测试)(四)
2023-07-23 13:29:47 】 浏览:126
Tags:golang 单元测 简单函
sername: defaultURI.Username, password: defaultURI.Password, host: "::1", port: 1000, vhost: defaultURI.Vhost, canon: "amqp://[::1]:1000/", }, { url: "amqp://[fe80::1]", username: defaultURI.Username, password: defaultURI.Password, host: "fe80::1", port: defaultURI.Port, vhost: defaultURI.Vhost, canon: "amqp://[fe80::1]/", }, { url: "amqp://[fe80::1]", username: defaultURI.Username, password: defaultURI.Password, host: "fe80::1", port: defaultURI.Port, vhost: defaultURI.Vhost, canon: "amqp://[fe80::1]/", }, { url: "amqp://[fe80::1%25en0]", username: defaultURI.Username, password: defaultURI.Password, host: "fe80::1%en0", port: defaultURI.Port, vhost: defaultURI.Vhost, canon: "amqp://[fe80::1%25en0]/", }, { url: "amqp://[fe80::1]:5671", username: defaultURI.Username, password: defaultURI.Password, host: "fe80::1", port: 5671, vhost: defaultURI.Vhost, canon: "amqp://[fe80::1]:5671/", }, { url: "amqps:///", username: defaultURI.Username, password: defaultURI.Password, host: defaultURI.Host, port: schemePorts["amqps"], vhost: defaultURI.Vhost, canon: "amqps://localhost/", }, { url: "amqps://host:1000/", username: defaultURI.Username, password: defaultURI.Password, host: "host", port: 1000, vhost: defaultURI.Vhost, canon: "amqps://host:1000/", }, } func TestURISpec(t *testing.T) { for _, test := range uriTests { u, err := ParseURI(test.url) if err != nil { t.Fatal("Could not parse spec URI: ", test.url, " err: ", err) } if test.username != u.Username { t.Error("For: ", test.url, " usernames do not match. want: ", test.username, " got: ", u.Username) } if test.password != u.Password { t.Error("For: ", test.url, " passwords do not match. want: ", test.password, " got: ", u.Password) } if test.host != u.Host { t.Error("For: ", test.url, " hosts do not match. want: ", test.host, " got: ", u.Host) } if test.port != u.Port { t.Error("For: ", test.url, " ports do not match. want: ", test.port, " got: ", u.Port) } if test.vhost != u.Vhost { t.Error("For: ", test.url, " vhosts do not match. want: ", test.vhost, " got: ", u.Vhost) } if test.canon != u.String() { t.Error("For: ", test.url, " canonical string does not match. want: ", test.canon, " got: ", u.String()) } } }

uriTests是我们定义的一个切片,只需要在测试函数中遍历以下即可。

5、测试覆盖率

测试覆盖率是应用程序中代码覆盖率的测量百分比。了解测试覆盖了多少代码很重要。通过这种方式,您可以看到代码的哪些部分您已经测试过,哪些部分我们没有测试过。

Go 的标准库提供了内置的测试覆盖来检查你的代码覆盖率。

我们修改下测试代码如下:

package uri

import (
	"testing"
)

// Test matrix defined on http://www.rabbitmq.com/uri-spec.html
type testURI struct {
	url      string
	username string
	password string
	host     string
	port     int
	vhost    string
	canon    string
}

var uriTests = []testURI{
	{
		url:      "
首页 上一页 1 2 3 4 5 6 7 下一页 尾页 4/8/8
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇golang中的init初始化函数 下一篇golang的内存管理

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目