运行Python参数化测试方法时出错

 书友33947127 发布于 2023-01-15 18:39

IDE: PyCharm Community Edition 3.1.1
Python: 2.7.6

我使用DDT进行测试参数化http://ddt.readthedocs.org/en/latest/example.html

我想从PyCharm中的测试类中选择并运行参数化测试方法- >参见示例:

from unittest import TestCase
from ddt import ddt, data


@ddt
class Test_parameterized(TestCase):
    def test_print_value(self):
        print 10
        self.assertIsNotNone(10)

    @data(10, 20, 30, 40)
    def test_print_value_parametrized(self, value):
        print value
        self.assertIsNotNone(value)

当我导航到test_print_value代码中的第一个测试方法并点击ctrl+ Shift+ F10(或使用Run Unittest test_print...上下文菜单中的选项)时,执行测试.

当我尝试使用参数化测试时,我得到错误:

Test framework quit unexpectedly

输出包含:

/usr/bin/python2 /home/s/App/pycharm-community-3.1.1/helpers/pycharm/utrunner.py
/home/s/Documents/Py/first/fib/test_parametrized.py::Test_parameterized::test_print_value_parametrized true

Testing started at 10:35 AM ...

Traceback (most recent call last):
  File "/home/s/App/pycharm-community-3.1.1/helpers/pycharm/utrunner.py", line 148, in 
    testLoader.makeTest(getattr(testCaseClass, a[2]), testCaseClass))
AttributeError: 'TestLoader' object has no attribute 'makeTest'

Process finished with exit code 1

但是,当我在类中运行所有测试时(通过导航到代码中的测试类名并使用提到的运行测试选项),所有参数化和非参数化测试一起执行而没有错误.

问题是如何从测试类中独立运行参数化方法 - 解决方法是为每个测试类进行一次参数化测试,但这是一个相当混乱的解决方案.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有