关于golang测试

go语言测试属于表格驱动测试 区别于传统调试

传统测试缺点如下

  .测试数据与测试逻辑混在一起

  .出错信息不明确

  .一旦一个数据出错测试全部出错

表格驱动测试优点如下

  .分离的测试数据和测试逻辑

  .明确的出错信息

  .可以部分失败而不中断测试

  .go语言的语法使得很容易使用表格驱动测试

要明确的一点是 不仅仅是go语言可以使用表格驱动方法测试 其他语言如

c++,pythen,java等语言都可以使用表格驱动测试 但其他语言相对golang语法 实现难度较大

本文只详细介绍golang的实现

golang的测试包名称为testing 使用方法如下

在被测试文件相同文件夹下创建名称为 (自己的文件名称)_test.go文件 

package main

import "testing" //包名

func TestTriangle(t *testing.T){  //注意指针传输 *testing.T主要用于测试方法返回值是否正确
	tests := []struct {a,b,c int}{ //创建测试结构体...
		{3,4,5},
		{5,12,13},
		{8,15,17},
		{12,35,37},
		{30000,40000,50000},
	}
	for _, tt := range tests{ //循环取出结构体值
		if actual := calcTriangle(tt.a,tt.b); actual != tt.c{ //判断表达式 如果 c int 与 a+b int 值不相等则返回错误
			t.Errorf("calcTriangle(%d %d); got %d; expected %d",tt.a,tt.b,actual,tt.c)
			//此处打印错误信息 tt.a代表a值 tt.b代表b值 tt.c代表c值(自己判断的值) actual为实际返回值
		}
	}
}

go语言支持命令行运行测试

这里我用的是powerShell(其他linux mac cmd相同)

关于测试先讲到这里。

猜你喜欢

转载自blog.csdn.net/weixin_42654444/article/details/82083901