python - 单元测试 setUpClass 不工作

标签 python unit-testing python-3.x

我正在尝试开始使用 unittest,但我在让 setUpClass() 工作时遇到了问题。这是我的测试代码...

import unittest

class TestRepGen(unittest.TestCase):
    """ Contains methods for training data testing """

    testvar = None

    @classmethod
    def setUpClass(cls):
        cls.testvar = 6

    def test_method(self):
        """ Ensure data is selected """
        self.assertIsNotNone(self.testvar,"self.testvar is None!")

# run tests
if __name__ == '__main__':
    unittest.main()

显示断言错误消息,表明 self.testvar == None,并且未被 setUpClass() 更改。我的代码有问题吗?

如果我从我的 IDE (Wing) 或直接从命令行运行代码,我会得到相同的结果。作为记录,我在 Windows7 下使用 Python 3.2.1。

最佳答案

setUpClass 是单元测试框架 2.7 和 3.2 的新增功能。如果您想将它与旧版本一起使用,您需要使用 nose 作为测试运行器而不是 unittest。

关于python - 单元测试 setUpClass 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7020781/

相关文章:

python - 无法从 for 循环中的列表中提取字典

python - 注释和变量之间的 line.strip

python - DecisionTreeClassifier 的精确召回曲线下的面积是一个正方形

python - django.db.utils.OperationalError : (1426,“精度太大1000

python - 如何从 Python 中解析 sql 文件?

c++ - c 的单元测试 - 如何在不重新编译/重新链接的情况下测试 'unit'?

javascript - 为什么 Node.js Assert 没有 notOk() 方法?

unit-testing - 圈复杂度计算 - 具体示例

python-3.x - 使用 Dropbox API 和 python 列出文件夹和子文件夹中的所有文件

python - 输入包含无穷大或值对于 dtype ('float64' 来说太大)错误