golang测试用例编写示例

package goconvey

import (
	"errors"
)

func Add(a, b int) int {
	return a + b
}

func Subtract(a, b int) int {
	return a - b
}

func Multiply(a, b int) int {
	return a * b
}

func Division(a, b int) (int, error) {
	if b == 0 {
		return 0, errors.New("被除数不能为 0")
	}
	return a / b, nil
}

测试用例

  package goconvey
    
    import (
    	"testing"
    
    	. "github.com/smartystreets/goconvey/convey"
    )
    
    func TestAdd(t *testing.T) {
    	Convey("将两数相加", t, func() {
    		So(Add(1, 2), ShouldEqual, 3)
    	})
    }
    
    func TestSubtract(t *testing.T) {
    	Convey("将两数相减", t, func() {
    		So(Subtract(1, 2), ShouldEqual, -1)
    	})
    }
    
    func TestMultiply(t *testing.T) {
    	Convey("将两数相乘", t, func() {
    		So(Multiply(3, 2), ShouldEqual, 6)
    	})
    }
    
    func TestDivision(t *testing.T) {
    	Convey("将两数相除", t, func() {
    
    		Convey("除以非 0 数", func() {
    			num, err := Division(10, 2)
    			So(err, ShouldBeNil)
    			So(num, ShouldEqual, 5)
    		})
    
    		Convey("除以 0", func() {
    			_, err := Division(10, 0)
    			So(err, ShouldNotBeNil)
    		})
    	})
    }

猜你喜欢

转载自blog.csdn.net/qq_30505673/article/details/85164573