gpt4 book ai didi

python - python 3.1 unittest 中不可用的断言方法

转载 作者:行者123 更新时间:2023-11-30 23:40:21 24 4
gpt4 key购买 nike

我是Python编程新手,尤其是单元测试框架。由于某种原因使用 pyDev (py 3.1 解释器)我无法使用所有这些新功能断言方法(例如assertRegexpMatches 等)。

这是一个示例代码:

类 TestParser(unittest.TestCase):

    def testskipCommentAndSpaces(self):
if os.path.isfile(sys.argv[1]):
#self.vmFilesListPath = sys.argv[1]
vmFilesListPath = sys.argv[1]
else:
#self.vmFilesListPath = get_all_vm_files(sys.argv[1])
vmFilesListPath = get_all_vm_files(sys.argv[1])
#parser = Parser(self.vmFilesListPath)
parser = Parser(vmFilesListPath)
commands = parser.getCommands()
for command in commands:
for token in commands:
p=re.search(r"(////)",str(token))
**self.assertNotRegexpMatches(str(token),p)**

我得到的是:AttributeError:'TestParser'对象没有属性'assertNotRegexpMatches'不用说: hasattr(self, 'assertNotRegexpMatches') 返回 false,而“简单”断言方法效果很好。

我确定解释器设置为 3.1 - 即我需要的正确版本(因为我的系统上还安装了 py 2.7)。

非常感谢您的帮助,伊戈尔.L

最佳答案

虽然 Python 3.1 中的 unittest 模块有一个 assertRegexpMatches方法,没有记录的 assertNotRegexpMatches。在 Python 3.2 中,assertRegexpMatches 被重命名为 assertRegex并添加了补充的 assertNotRegex

请注意,Python 3.1 已过时,除了关键的安全修复之外不再进行维护。 Python 3.2 和刚刚发布的 3.3 中添加了许多功能、修复和重大性能改进。考虑升级到其中之一。

关于python - python 3.1 unittest 中不可用的断言方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12701627/

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