登录
首页 >  Golang >  Go问答

测试用例未被主包执行

来源:stackoverflow

时间:2024-03-04 14:03:28 260浏览 收藏

大家好,我们又见面了啊~本文《测试用例未被主包执行》的内容中将会涉及到等等。如果你正在学习Golang相关知识,欢迎关注我,以后会给大家带来更多Golang相关文章,希望我们能一起进步!下面就开始本文的正式内容~

问题内容

我正在尝试编写一个简单的测试来更好地理解 golang 测试,但测试用例似乎没有执行,我预计它会失败。

在我的 main.go 中,我有:

package main

import "fmt"

func main() {
    fmt.println("run")
}

func twosum(nums []int, target int) []int {
    lookup := make(map[int]int)
    for i, n := range nums {
        c := target - n
        if j, ok := lookup[c]; ok {
            return []int{j, i}
        }
        lookup[n] = i
    }
    return []int{}
}

然后在我的 main_test.go 中我有这个:

package main

import (
    "reflect"
    "testing"
)

var twoSumsCases = []struct{
    input []int
    target int
    expected []int

} {
    {
         []int{2,7,11,15},
         9,
         []int{0,3},

    },
}

func TesttwoSum(t *testing.T) {

    for _, tc := range twoSumsCases {
        actual := twoSum(tc.input, tc.target)

        eq := reflect.DeepEqual(actual, tc.expected)

        if eq {
            t.Log("expected: ", tc.expected, " actual: ", actual)
        } else {
            t.Error("expected: ", tc.expected, " actual: ", actual)

        }
    }
}

然后当我运行 go test -v...它告诉我 testing: warning: no test to run。我以此为例:https://blog.alexellis.io/golang-writing-unit-tests/...我想我已经得到了我需要的一切,但不确定为什么测试没有执行。


解决方案


将测试函数的名称更改为 TestTwoSum。此名称与 testing package documentation 第一段中描述的模式匹配:

今天带大家了解了的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>