【发布时间】:2016-08-27 06:42:02
【问题描述】:
我在 python 中使用 unittest 来测试一个项目。该项目定义了旨在供其他 python 开发人员子类化的类。然后可以运行该项目并利用用户编写的子类。
我想测试子类的方法是否被项目传递了正确的数据。我怎样才能做到这一点?从项目子类化的测试类中调用unittest.TestCase.assert* 方法并不简单。
我尝试将TestCase 对象设置为全局变量,并从子类方法中调用TestCase 对象的断言方法,但全局变量似乎没有在测试类方法的范围内定义.
例子
import unittest
import myproject
class TestProjectClass(unittest.TestCase):
def test_within_class_method(self):
myproject.run(config_file_pointing_to_ProjectClass) # Calls SomeUsersClass.project_method()
class SomeUsersClass(myproject.UserClassTemplate):
def project_method(self, data_passed_by_project):
#want to test data_passed_by_project in here
pass
【问题讨论】:
-
如何运行测试?你在用什么测试运行器类?
-
测试由 PyCharm 'run unit tests in tedting.py' 运行,目前尚不清楚它们是如何做到的。
-
问题不清楚吗?我会期待更多的答案。
标签: python class python-unittest