测试功能可以获得100%的覆盖率

时间:2015-12-23 12:17:20

标签: go

您如何为以下功能编写测试以获得100%的覆盖率?

doctype 5
html
    head
        title Upload Form
    body
        h1 Upload File
        form(method="POST", action="/upload", enctype="multipart/form-data")
            input(type="file", name="file")
            input(type="submit")

1 个答案:

答案 0 :(得分:2)

极端主义的方式

更改方法签名以将其作为输入func (string) (os.File, error)并在进行测试时将其注入。

这些方面的东西:

func countLines(files []string, open func(string) (*os.File, error)) int {
    ...
    f, err := open(e)
    ...
}

然后,您可以进行测试并注入一个函数,该函数将返回安排您进行测试的内容。

实用的方法

只需在包的test目录下创建文件,然后使用这些文件进行测试。 好处是方法更简单,测试也是如此。当你有很多依赖时,第一种方法会变得非常麻烦......