__init__(유닛 테스트용).테스트 케이스
저는 몇 가지를 추가하고 싶습니다.unittest.TestCase
수업은 초기화되면 하는데 어떻게 하는지 모르겠어요.
지금 저는 이것을 하고 있습니다.
#filename test.py
class TestingClass(unittest.TestCase):
def __init__(self):
self.gen_stubs()
def gen_stubs(self):
# Create a couple of tempfiles/dirs etc etc.
self.tempdir = tempfile.mkdtemp()
# more stuff here
이 전체 테스트 세트에 대해 모든 스텁을 한 번만 생성했으면 합니다.사용할 수 없습니다.setUpClass()
왜냐하면 저는 Python 2.4에서 작업하고 있기 때문입니다(Python 2.7에서도 작업할 수 없었습니다).
내가 여기서 뭘 잘못하고 있는 거지?
다음 오류가 발생했습니다.
`TypeError: __init__() takes 1 argument (2 given)`
...모든 스텁 코드를 다음으로 이동할 때 발생하는 기타 오류__init__
명령을 사용하여 실행할 때python -m unittest -v test
.
사용해 보십시오.
class TestingClass(unittest.TestCase):
def __init__(self, *args, **kwargs):
super(TestingClass, self).__init__(*args, **kwargs)
self.gen_stubs()
당신은 그것을 무시하고 있습니다.TestCase
의__init__
따라서 기본 클래스에서 인수를 처리할 수 있습니다.
단지 초기 기능을 재정의하는 것에 대한 몇 가지 설명을 추가하고 싶었습니다.
unittest.TestCase
함수는 테스트 클래스의 각 메서드 앞에 호출됩니다.모든 테스트 방법을 실행하기 전에 한 번 수행해야 하는 값비싼 계산을 추가하려면 SetUpClass 클래스 방법을 사용하십시오.
@classmethod
def setUpClass(cls):
cls.attribute1 = some_expensive_computation()
이 함수는 클래스의 모든 테스트 메서드 앞에 한 번 호출됩니다.봐setUp
각 검정 방법 앞에 호출되는 방법입니다.
unittest2를 설치하고 해당 패키지의 unittest를 사용합니다.
import unittest2
그런 다음 setupModule / tearDownModule 또는 setupClass / tearDown 클래스를 사용하여 특수 초기화 로직을 수행합니다.
더 많은 정보: http://www.voidspace.org.uk/python/articles/unittest2.shtml
또한 통합 테스트는 단위 테스트 이상의 통합 테스트를 생성할 가능성이 높습니다.검정을 구분할 적절한 이름을 선택하거나 다른 용기 모듈에 넣습니다.
언급URL : https://stackoverflow.com/questions/17353213/init-for-unittest-testcase
'programing' 카테고리의 다른 글
모카 유닛 테스트에 대한 사용자 정의 오류 메시지와 함께 차이 기대치를 제공하는 방법은 무엇입니까? (0) | 2023.06.08 |
---|---|
각 요청에 따라.파일 (0) | 2023.06.08 |
Oracle DB에 연결할 때 네트워크 어댑터가 연결을 설정할 수 없습니다. (0) | 2023.06.08 |
빈 값을 nan 대신 빈 문자열로 읽으려면 pandas.read_csv를 가져옵니다. (0) | 2023.06.08 |
기호당 분당 데이터 차이 쿼리 (0) | 2023.06.08 |