我有以下要测试的python代码:def find_or_make_logfolder(self): if not path.isdir(self.logfolder): try: makedirs(self.logfolder) except OSError: if not path.isdir(self.logfolder): raise我想在单元测试中执行以下操作。def test_find_or_make_logfolder_pre_existing(self): with self.assertRaises(OSError): makedirs(self.logfolder) find_or_make_logfolder()但是,if not path.isdir(self.logfolder):正在检查目录是否已存在,以便仅在某些情况下,当程序或人员成功将目录创建在except OSError之后和。我该如何测试,还是真的需要测试?当覆盖率达到100%时,我倾向于喜欢它。 (adsbygoogle = window.adsbygoogle || []).push({}); 最佳答案 您可以采用更Python化的方法来实现这一目标。在Python中,哲学是  寻求宽恕比寻求许可要好。见EAFP here考虑到这一点,您的代码可以编写如下:def find_or_make_logfolder(self): try: makedirs(self.logfolder) except OSError: #self.logfolder was already a directory, continue on. pass现在,要覆盖此代码的100%,您只需要创建一个目录已经存在的测试用例。 (adsbygoogle = window.adsbygoogle || []).push({});
10-08 08:13