我正在为我打算写的程序编写测试,检查配置文件中的某些行。
例如,程序可能会检查以下行:AllowConnections- 包含在SomeFile.conf文件中。
我的函数存根不接受任何参数,因为我知道我要检查的文件。
我正在尝试为此函数编写测试,以检查不同SomeFile.conf文件的行为,但我不知道如何执行此操作。可以在setup和teardown测试函数中更改SomeFile.conf,但这似乎是一种不好的测试方法。我是否应该更改函数以便它只是为了测试而接受文件参数?
答案 0 :(得分:1)
您测试的代码和您运行的代码应该相同。
我不建议使用文件名,因为现在您正在处理(在一个函数中)打开文件 - 以及与该部分相关的错误,然后确认文件格式(函数的实际目的)。 / p>
听起来我的功能是检查文件内容是否包含特定字符串。因此,此函数应该采用任何类型的内容元素(可迭代),然后只要找不到键字符串,该函数应该返回None / False / Fail条件 - 并且您的测试应该检查它。
答案 1 :(得分:0)
很有可能将函数定义为
def checkline_in_file(filename="SomeFile.conf"):
使用文件名的默认值。在测试中,它可以被覆盖。在制作中你不需要给它一个参数。
稍后,当phb决定所有文件扩展名必须包含3个字符时,这是一个字符更改。