예외를 위해 파이썬 코드를 테스트해야하지만 올바른 명령문을 실행할 수없는 것 같습니다. 내 생산 코드를 테스트 할 때
나는 예외가 발생되는 것을 볼 수 있지만 내 단위 테스트 파일에서이 예외 테스트 할 때 나는이 얻을 : 나는 SO에 비슷한 질문을 읽어python에서 파이썬으로 예외 테스트하기
testincorrectparam (unittestearnings.TestEarningsArgs)
should raise error when param not an integer ... "3v" is not a valid argument. i should be an integer
ERROR
하지만 난 단지 돈 '이 t은
생산 코드는 다음과 같습니다 .. 내 문제에 대한 만족스러운 답변을 찾기 위해 관리 :
class Earnings():
def printd(i=0):
try:
i = int(i)
except Exception:
print('"' + i + '"' + " is not a valid argument. i should be an integer")
sys.exit(0)
그리고 단위 테스트 코드는 이것이다 :
from earnings import Earnings
import unittest
class TestEarningsArgs(unittest.TestCase):
def testincorrectparam(self):
'''should raise error when param not an integer'''
e = Earnings()
value = "3v"
self.assertRaises(Exception, e.printd(i=value))
if __name__ == "__main__":
unittest.main()
정말 감사드립니다.
'printd()'는 "param"을 취하지 않습니다. n amed 매개 변수가 없으므로 테스트 또는 코드도 올바르지 않습니다. – geoffspear
@Wooble이 점을 발견해 주셔서 감사합니다. 코드가 이제 일관되었습니다. 내 질문은 여전히 유효하지만. 환호 – jule64