Python 3.1 unitTest 中不可用的断言方法



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

下面是一个示例代码:

类测试解析器(单元测试。测试用例):

    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)**

我得到的是:属性错误:"TestParser"对象没有属性"assertNotRegexpMatches"不用说:hasattr(self,'assertNotRegexpMatches')返回false,而"简单"断言方法工作得很好。

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

会感谢您的帮助,伊戈尔·

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

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

相关内容

  • 没有找到相关文章

最新更新