An example of use golang generate test case

本文展示了如何在Go语言中创建对象(如Farmer和User),定义接口(Life),并实现接口方法。此外,还给出了针对Farmer对象habbies方法的测试用例,包括针对User和Animal类型的测试覆盖。
摘要由CSDN通过智能技术生成

First step, write a sample of golang object

package obj

import "log"
func NewFarmer() (farmer *Farmer) {
	return &Farmer{life: &User{}}
}
func (this *Farmer) habbies() {
	this.life.Eat()
	this.life.Work()
}
type Farmer struct {
	life Life
}
type User struct {
	name    string
	id      uint64
	working bool
	full    bool
	happy   bool
}

func (this *User) Work() {
	log.Println("User working.........")
	this.working = true
}
func (this *User) Eat() {
	this.full = true
}
func (this *User) Happy() {
	this.happy = true
}

type Animal struct {
	name    string
	id      uint64
	working bool
	full    bool
	happy   bool
}

func (this *Animal) Work() {
	log.Println("Animal working.........")
	this.working = true
}
func (this *Animal) Eat() {
	this.full = true
}
func (this *Animal) Happy() {
	this.happy = true
}

type Life interface {
	Work()
	Eat()
	Happy()
}

Second step: generate test case by use  goland

package obj

import "testing"

func TestFarmer_habbies(t *testing.T) {
	type fields struct {
		life Life
	}
	tests := []struct {
		name   string
		fields fields
	}{
		{
			"test01",
			fields{&User{}},
		},
		{
			"test02",
			fields{&Animal{}},
		},
	}
	for _, tt := range tests {
		t.Run(tt.name, func(t *testing.T) {
			this := &Farmer{
				life: tt.fields.life,
			}
			this.habbies()
		})
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值