gpt4 book ai didi

unit-testing - 需要文件的单元测试方法

转载 作者:IT王子 更新时间:2023-10-29 02:09:01 25 4
gpt4 key购买 nike

我有以下功能,我需要为它创建一个单元测试

package main

import (
"fmt"
"io/ioutil"
"os"
)

type Source struct {
Path string
}

type fileReader interface {
readOneFile() ([]byte, error)
}

func(s Source) readOneFile() ([]byte, error) {
cwd, err := os.Getwd()
file, err := ioutil.ReadFile(fmt.Sprintf("%s/file.txt", cwd))
if err != nil {
return nil, fmt.Errorf("erro reading file : %s", err.Error())
}
return file, err
}

问题是我在方法中使用文件路径,为此类函数创建单元测试的最佳实践是什么?

最佳答案

测试将在包含测试的目录中运行

因此 Getwd 将给出该目录的路径

测试目录下文件中测试数据的文件名应以下划线开头 _

但是,您的程序需要一个名为“file.txt”的文件。为了支持测试这个不以 _ 开头的文件路径,在(例如)/tmp 中创建文件 file.txt,在运行测试之前立即对/tmp 执行 chdir,并让测试选择刚刚制作的文件

关于unit-testing - 需要文件的单元测试方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52626985/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com