登录
首页 >  Golang >  Go教程

Go 的单元测试

来源:dev.to

时间:2024-07-30 16:13:00 310浏览 收藏

Golang不知道大家是否熟悉?今天我将给大家介绍《Go 的单元测试》,这篇文章主要会讲到等等知识点,如果你在看完本篇文章后,有更好的建议或者发现哪里有问题,希望大家都能积极评论指出,谢谢!希望我们能一起加油进步!

Go 的单元测试

go 提供了一个测试包,包含许多用于单元测试的工具。

准备
我们来练习一下,首先准备一个 cube 结构体,该结构体的对象变量稍后将用作测试材料。

package main

import "math"

type cube struct {
 sisi float64
}
func (k cube) volume() float64 {
 return math.pow(k.sisi, 3)
}
func (k cube) area() float64 {
 return math.pow(k.sisi, 2) * 6
}
func (k cube) circumference() float64 {
 return k.sisi * 12
}

将上面的代码保存在training1.go文件中

package main
import "testing"
var (
cube cube = cube{4}
volume should float64 = 64
area should float64 = 96
circumference should float64 = 48
)
func testcalculatevolume(t *testing.t) {
t.logf("volume : %.2f", cube.volume())
if cube.volume() != volumeshould {
t.errorf("wrong! should be %.2f", volumeshould)
}
}
func testcalculatesurface(t *testing.t) {
t.logf("area : %.2f", cube.area())
if cube.area() != areashould {
t.errorf("wrong! should be %.2f", areashould)
}
}
func testcalculateperimeter(t *testing.t) {
t.logf("perimeter : %.2f", cube.perimeter())
if cube.perimeter() != circumferenceshould {
t.errorf("wrong! should be %.2f", circumferenceshould)
}
}

t.logf()方法用于显示日志。该方法相当于 fmt.printf() .
errorf() 方法用于显示一条日志,后跟一条测试期间发生失败的语句。
执行测试的方法是使用 go test 命令。由于被测试的struct位于bab55.go文件中,因此使用go test执行测试时,需要将bab55_test.go和bab55.go文件名写入为参数。 -v 或 verbose 参数用于显示测试期间的所有日志输出。
如下图所示运行应用程序,可以看到没有测试失败。好的,那么尝试更改 keliling() 方法的计算公式。此更改的目的是找出测试失败时失败标记如何显示。

func (k Cube) Perimeter() float64 {
return k.Side * 15
}

之后再次运行测试。

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:dev.to 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>