如何测试使用os导入并创建新文件夹等的python脚本?
我不确定是否有一个很好的方法来测试这样的东西,但也许你知道一个: 我编写了一个python脚本,用于查找在某些给定目录中添加的更改文件,如果它检测到添加的文件,它将在这些文件上运行一个子进程,这需要1到2个小时。然后移动文件、删除和重命名文件夹等 现在我厌倦了每次添加一些更改时手动测试它,但我也不知道如何使用自动测试来测试它。有人有主意吗 谢谢 第一步是创建不同的功能,这可以通过内置的来完成。要高效地进行单元测试,首先需要将不同的功能划分为不同的功能/单元(如果尚未这样做)。也就是说,您应该有一个功能来检查更改,而没有其他功能。还有一个功能可以重命名文件夹,而不是e.t.c 然后,在运行unittest时,测试隔离的函数,例如检测更改的函数。这是在虚拟/模拟目录上完成的,该目录最好在开始时由测试脚本创建,然后在完成时删除。由于只测试检测更改的函数,因此它不依赖于缓慢的子流程,因此运行起来非常快。然后,您有另一个单元测试,用于测试移动、删除、重命名e.t.c。当您有一套完整的单元测试时,您知道您可以按预期分离功能/单元 然后,您应该定期运行单元测试,最好是每晚或每次更改时自动运行。这样做,您将很快捕获错误,并使它们更容易修复 例如:如何测试使用os导入并创建新文件夹等的python脚本?,python,python-3.x,testing,Python,Python 3.x,Testing,我不确定是否有一个很好的方法来测试这样的东西,但也许你知道一个: 我编写了一个python脚本,用于查找在某些给定目录中添加的更改文件,如果它检测到添加的文件,它将在这些文件上运行一个子进程,这需要1到2个小时。然后移动文件、删除和重命名文件夹等 现在我厌倦了每次添加一些更改时手动测试它,但我也不知道如何使用自动测试来测试它。有人有主意吗 谢谢 第一步是创建不同的功能,这可以通过内置的来完成。要高效地进行单元测试,首先需要将不同的功能划分为不同的功能/单元(如果尚未这样做)。也就是说,您应该有一
import unittest
from my_module import hasDirectoryChanged
class CheckDirectoryChangesTestCase(unittest.TestCase):
def setUp(self):
createMockDirectory(dirName)
def test_detect_when_change(self):
addChangesToMockDirectory(dirName)
self.assertTrue(hasDirectoryChanged(dirName))
def test_no_detect_when_no_change(self):
self.assertFalse(hasDirectoryChanged(dirName))
def tearDown(self):
removeMockDirectory(dirName)
下一步要做的是。在python中,可以通过各种方式完成这项工作,但最重要的是实现自动化 看看Python的单元测试——您可以为一组测试编写一个设置,在临时位置创建一些文件和文件夹,然后单元测试将逐个执行;每个测试都可以执行一些操作,然后验证预期结果是否反映在测试文件上。谢谢!我已经为每件事做了不同的功能。但是如何测试删除、重命名等?我是否需要使用python添加文件夹并测试它们是否在之后被删除?我已经用示例代码更新了我的答案。基本上,在unittest框架中,您有安装和拆卸功能,可以在其中创建/删除您正在测试的目录。这些功能在每次测试之前/之后运行。功能测试-更改时检测,测试-不更改时检测。谢谢!createMockDirectory函数是您自己的函数,或者可以从其他地方导入?createMockDirectory是您必须自行创建的函数