Golang 测试
2016-08-05 09:29
337 查看
go的一些测试的方法,懒得跑结果了, 直接上源代码, 心累!
package main
/**
go 测试相关的一些测试方法
性能测试
超时测试
基准测试
内容正确性测试
代码覆盖测试
**/
// 代码覆盖测试
// go test -cover -coverprofile=cover.out -covermode=count
// go tool -cover -html=cover.out 以html 页面打开结果
import (
"os"
"testing"
"time"
)
func TestA(t *testing.T) {}
func TestB(t *testing.T) {}
func Benchmark(t *testing.B) {}
func sum(n ...int) int {
var ret int
ret = 0
for _, i := range n {
ret += i
}
return ret
}
// go test -v -bench .
// go test -v -bench . -benchmem -cpu 1,2,4 -benchtime 30s
func BenchmakSum(b *testing.B) {
for i := 0; i < b.N; i++ {
if sum(1, 2, 3) != 6 {
b.Fatal("sum fatal error")
}
}
}
// benchmark test go test -v -test.bench .
func TestMain(m *testing.M) {
println("Setup")
code := m.Run()
println("teardown")
os.Exit(code)
}
// go test -v -run "(?i)sum"
func TestSum(t *testing.T) {
time.Sleep(time.Second * 2)
if sum(1, 2, 3) != 6 {
t.Fatal("sum error")
}
}
// timeout test go test -v -timeout 3s
func TestTimeout(t *testing.T) {
time.Sleep(time.Second * 5)
}
package main
/**
go 测试相关的一些测试方法
性能测试
超时测试
基准测试
内容正确性测试
代码覆盖测试
**/
// 代码覆盖测试
// go test -cover -coverprofile=cover.out -covermode=count
// go tool -cover -html=cover.out 以html 页面打开结果
import (
"os"
"testing"
"time"
)
func TestA(t *testing.T) {}
func TestB(t *testing.T) {}
func Benchmark(t *testing.B) {}
func sum(n ...int) int {
var ret int
ret = 0
for _, i := range n {
ret += i
}
return ret
}
// go test -v -bench .
// go test -v -bench . -benchmem -cpu 1,2,4 -benchtime 30s
func BenchmakSum(b *testing.B) {
for i := 0; i < b.N; i++ {
if sum(1, 2, 3) != 6 {
b.Fatal("sum fatal error")
}
}
}
// benchmark test go test -v -test.bench .
func TestMain(m *testing.M) {
println("Setup")
code := m.Run()
println("teardown")
os.Exit(code)
}
// go test -v -run "(?i)sum"
func TestSum(t *testing.T) {
time.Sleep(time.Second * 2)
if sum(1, 2, 3) != 6 {
t.Fatal("sum error")
}
}
// timeout test go test -v -timeout 3s
func TestTimeout(t *testing.T) {
time.Sleep(time.Second * 5)
}
相关文章推荐
- golang与node.js的http对比测试
- golang与node.js的http模块性能对比测试(go1)
- 测试golang中的多核多线程
- 深入理解Golang的单元测试和性能测试
- Golang:测试map是否存在
- golang学习之旅:使用go语言操作mysql数据库(自己测试了)
- golang struct继承测试
- golang chan 发送接收测试数据
- 测试golang中的多核多线程
- Golang初学者对函数返回值还是指针的测试
- golang test测试使用
- golang与node.js的http对比测试
- Asp.net core与golang web简单对比测试
- golang多进程测试代码
- golang 操作mysql测试用例
- golang与node.js的http模块性能对比测试(go1)
- Golang中的覆盖率测试
- golang web开发 Handler测试利器httptest
- golang test测试实例
- golang:interface{}类型测试