Go语言环境,命令,测试案例

环境

工作区:

工作区是一个对应于特定工程的目录

src 存放源码

pkg 代码包

bin 可执行文件

包:

一个代码集合,可以使用包名.函数名的方式调用包中的函数。

测试案例:

书写格式:
文件名:_test.go结尾
导包:testing
测试函数参数(t *testing.T)

测试案例会执行当前包下所有函数,用t.Error来打印错误信息。

go test默认不会打印成功信息,我们可以使用-v参数显示详细信息

package gotest
import (
	"errors"
)
func Division(a, b float64) (float64, error) {
	if b == 0 {
		return 0, errors.New("除数不能为0")
	}
	return a / b, nil
}
// gotest_test.go	必须_test.go结尾
package gotest
import "testing"

func Test_Division_1(t *testing.T) {
	if i, e := Division(6, 2); i != 3 || e != nil { //try a unit test on function
		t.Error("除法函数测试没通过") // 如果不是如预期的那么就报错
	} else {
		t.Log("第一个测试通过了") //记录一些你期望记录的信息
	}
}

func Test_Division_2(t *testing.T) {
	t.Error("就是不通过")
}

func Test_Division_3(t *testing.T) {
	if _, e := Division(6, 0); e == nil { //try a unit test on function
		t.Error("Division did not work as expected.") // 如果不是如预期的那么就报错
	} else {
		t.Log("one test passed.", e) //记录一些你期望记录的信息
	}
}
$ go test -v
=== RUN   Test_Division_1
--- PASS: Test_Division_1 (0.00s)
        gotest_test.go:9: 第一个测试通过了
=== RUN   Test_Division_2
--- FAIL: Test_Division_2 (0.00s)
        gotest_test.go:14: 就是不通过
=== RUN   Test_Division_3
--- PASS: Test_Division_3 (0.00s)
        gotest_test.go:21: one test passed. 除数不能为0
FAIL
exit status 1
FAIL    target/1.测试案例       0.002s

GOPATH设置:

window:环境变量中设置

linux:设置.bashrc文件(用户)。profile(系统)

一般设置用户目录下的即可,也可以设置root用户下的。

#放在文件末尾,不要写在if内
export GOPATH="/home/cz/go"
export PATH="$PATH:$GOPATH/bin"

编译运行程序:

build      	编译包和依赖库
clean       删除对象文件和缓存的文件
doc        	显示包或者符号的文档
env         答应Go环境信息
bug         启动bug报告
fix         更新包以使用新的APIs
fmt         gofmt (重新格式化) 包源码
generate    通过处理源代码生成Go文件
get         下载并安装包和依赖项目
install     编译并安装包和依赖项
list        list packages
run         编译并运行Go程序
test        测试包
tool        运行指定的go工具
version     打印Go版本信息
vet         报告包中可能出现的错误
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值