gpt4 book ai didi

python - 测试操作系统方法

转载 作者:行者123 更新时间:2023-12-01 03:52:07 24 4
gpt4 key购买 nike

如何测试 python 中提供的 os 模块方法。例如,您将如何测试 os.mkdir 的使用?

def create_folder(self):
os.mkdir("/parentFolder/newFolder")

可以用什么来测试这个方法?

此方法将具有诸如

之类的测试用例
  • 验证文件夹是否已创建

  • 没有足够的权限来创建文件夹

  • 空间不足,无法创建文件夹

最佳答案

在对create_folder进行单元测试时,您不会测试os.mkdir。这有两个原因:

  1. 它是外部库的一部分(在本例中是标准库,但对于第三方库也是如此),因此应该被该库的测试套件覆盖;和

  2. 即使它是代码库的一部分,它也与被测试的单元不同。

此外,值得注意的是您对此的测试,如 user2393256's answer 所示,可能会使用同一外部库中的其他功能 - 如果测试失败,您是否得出结论:os.mkdir 不起作用,或者 os.path.isdir没用?

从测试create_folder的角度来看,真正重要的是它与该函数正确交互。我会模拟 os.mkdir (例如使用 unittest.mock )并检查是否使用适当的路径调用它。您还可以更改模拟的返回值和副作用,从而允许您模拟权限或空间不足等情况,并测试应用程序对此的响应,而无需以某种方式实际设置该环境。当测试调用 create_folder 的其他功能单元时,我会完全模拟 create_folder,因为它是经过测试且可信的单元。

除了单元测试之外,您还需要进行一定程度的集成测试,这可确保应用程序的所有部分都能正确协同工作。此时,您将测试整体功能,例如您可以保存文件,然后再将其加载回来,而不是诸如“文件夹已创建吗?”之类的细节

最后,特别是对于标准库功能,您必须有一定程度的信任,相信该语言本身已经过测试(即使不是直接测试,至少已经有数千个程序在使用它!)并且可以正常工作。

关于python - 测试操作系统方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38057117/

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