golang中单元测试的简单应用

1、golang中的单元测试

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2、golang中单元测试的是使用
在这里插入图片描述

3、简单应用:
被测试文件:

package vegetables

import (
	"encoding/json"
	"fmt"
	"io/ioutil"
)

/**
 *  @Description:包含一个蔬菜结构体和相关方法
 *  @Author: guai
 *  @Date:2020/2/25 20:02
**/

type Vegetables struct {
	Name string
	Age  int
	Skil string
}

//给Vegetables绑定一个Store方法,将一个Vegetables变量(对象),序列化后保存到文件中
func (this *Vegetables) Store() bool {
	//先序列化
	data, err := json.Marshal(this)
	if err != nil {
		fmt.Println("marshal err:", err)
		return false
	}

	//保存到文件
	filePath := "e:/test.txt"
	err = ioutil.WriteFile(filePath, data, 0666)
	if err != nil {
		fmt.Println("write file err:", err)
		return false
	}
	return true
}

//给Vegetables绑定一个ReStore方法,将一个序列化的Vegetables,从文件中读取出来
func (this *Vegetables) ReStore() bool {
	//从文件中读取序列化的字符串
	filePath := "e:/test1.txt"
	data, err := ioutil.ReadFile(filePath)

	if err != nil {
		fmt.Println("read file err:", err)
		return false
	}
	var str string
	err = json.Unmarshal(data, this)
	if err != nil {
		fmt.Println("unmarshal err:", err)
		return false
	}
	fmt.Println("data:", str)
	return true
}

测试文件:

package  vegetables

import (
	"fmt"
	"testing"
)

/**
 *  @Description:vegetables测试方法
 *  @Author: guai
 *  @Date:2020/2/25 20:17
**/

func TestStore(t *testing.T) {
	//创建一个Vegetables实例
	vegetable := Vegetables{
		Name: "cabbage",
		Age:  18,
		Skil: "eat",
	}
	res := vegetable.Store()
	if !res {
		t.Fatalf("monster.Stroe err result%v", res)
	}
	t.Logf("vegetables.Store() success")
}

func TestReStore(t *testing.T) {
	//创建Vegetables对象
	var vegetable Vegetables
	res := vegetable.ReStore()
	if !res {
		t.Fatalf("vegetable.ReStore() err")
	}
	fmt.Println("this:", vegetable)
	t.Logf("vegetable.ReStore() success")

}

测试Store方法的结果:
在这里插入图片描述

测试ReStore方法的结果:(此处故意将路径写错)
在这里插入图片描述

简单撒花

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值