프로젝트를 테스트하기 위해 파이썬에서 unittest를 사용하고 있습니다. 이 프로젝트는 다른 파이썬 개발자가 서브 클래스로 사용할 클래스를 정의합니다. 그런 다음 프로젝트를 실행하고 사용자가 작성한 하위 클래스를 활용할 수 있습니다.파이썬 클래스 메소드 내 테스트하기
하위 클래스의 메서드가 프로젝트에서 올바른 데이터를 전달하고 있는지 테스트하고 싶습니다. 어떻게해야합니까? 프로젝트에서 서브 클래 싱중인 테스트 클래스 내에서 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
테스트를 어떻게 실행합니까? 어떤 테스트 러너 클래스를 사용하고 있습니까? – XORcist
테스트는 PyCharm 'tedting.py의 유닛 테스트 실행'에 의해 실행되며 정확히 어떻게 수행되는지는 분명하지 않습니다. – Shaun
질문이 명확하지 않습니까? 나는 더 많은 대답을 기대했을 것입니다. – Shaun