转golang心路历程 | 第3集 Go里面的测试用例好玩吗

164 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

一、欲练此Go,先把debug断点配置搞定!

image.png


1. 点击本地运行配置入口

2. 选择运行入口的方式,可以选择文件(file)或者包(package), 优先main.go文件运行

3. 指定需要运行的main.go入口文件

4. 指定工作文件的目录所在, 即main.go所在的文件夹

5. 把你需要断点测的内容, 可以放到main.go中进行调试

二、欲练此Go,再把debug的按钮们搞清楚!

image.png


1. 以编译模式直接运行,无断点,畅通无阻模式

2. 会执行断点测的部分,有断点,debug模式

3. 停止编译或调试,一键喊停功能

4. 断点测代码位置1,和下部按钮有关联

5. 断测测代码位置2,和下部按钮有关联

6. 重新开始功能,“搞错了,再来!”

7. 归位功能,回到当前正在执行的代码行

8. 一行一行来运行功能,“别急,咱们选个断测位置,一行行往下执行,如果执行的是方法,绕开!”

9. 一行都不能错过功能, “见山开山,见河搭桥,绝不放过一行代码模式!”

10. 从方法跳出来模式,“不能再一棵树上吊死,遇到南墙,果断跳出来模式”

11. 跳到新打的断点处,“我就是喜新厌旧,哪里有新的断点,我就要去哪里”

12. 体验下来,与11有异曲同工之妙,当然如果你有发现不同点,可以在评论区分享!

13. 断点在哪功能,“我的断点在哪里列表,上面是列表,下面是失效断点”


package main

import "fmt"

func main() {
   fmt.Println("I want to print %s", "Hello world!")
   dumpTestDemo()
}

func dumpTestDemo() {
   fmt.Println("I am  %s", "Test Demo!")
}

三、欲练此Go,最后是要写好方便自测的轮子『测试用例单元』


    package gotest
 
    import (
        "errors"
    )

    func Division(a, b float64) (float64, error) {
        if b == 0 {
            return 0, errors.New("不好意思,除数不能为0!")
        }
 
        return a / b, nil
    }
    

    package gotest
 
    import (
        "testing"
    )
 
    func Test_Division_Demo(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_Demo1(t *testing.T) {
        t.Error("大哥,你别折腾了,这里是牛角尖地带,你通过不了的")
    }

国际惯例,先上代码,欲知后事如何,且听下回讲解。。。。

src=http___img67.chem17.com_9_20170808_636378279210160846372.jpg&refer=http___img67.chem17.webp