>백엔드 개발 >파이썬 튜토리얼 >토네이도 오류 예외에 대한 솔루션(\'예상된 예외를 얻지 못했습니다\')

토네이도 오류 예외에 대한 솔루션(\'예상된 예외를 얻지 못했습니다\')

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB앞으로
2024-02-29 21:55:32701검색

토네이도 오류 예외에 대한 솔루션(\예상된 예외를 얻지 못했습니다\)

python

에서 토네이도에 "Exception("예상 예외를 얻지 못했습니다")" 오류가 나타나는 이유는 다음과 같습니다. tornado의 testframework를 사용한 단위 테스트 이 오류는 다음과 같은 경우에 발생합니다. 예상되는 예외는 발생하지 않습니다. 프로그램이 예상대로 작동하지 않거나 예외가 포착되어 테스트 프레임워크로 전달되지 않을 수 있습니다.

해결 방법

이 문제를 해결하는 방법에는 여러 가지가 있습니다.

프로그램이 예상대로 실행되는지 확인하세요. 코드가 올바른지, 예외가 발생하지 않게 만드는 허점이 있는지 확인하세요.

예외가 발생하지 않는지 확인하세요. 프로그램에서는 테스트 프레임워크로 전달되지 않고 예외가 포착됩니다. 테스트 코드에 예외 포착 명령문이 없는지 확인하세요.

Tornado의 AsyncTestCase.assertRaises() 메서드를 사용하여 예외가 발생했음을 확인합니다. 이 방법을 사용하면 예상된 예외가 비동기 코드에서 발생하도록 할 수 있습니다.

예외가 발생하지 않거나 발생한 예외가 예상한 예외가 아닌 경우 코드를 다시 확인하고, 프로그램을 디버그하고, 프로그램 실행 시 프로그램의 상태와 동작을 이해하려고 노력하는 것이 좋습니다.

사용 예

예, 다음은 Tornado의 AsyncTestCase.assertRaises() 메서드를 사용한 단위 테스트의 예입니다.

import tornado.testing
import tornado.WEB

class MyHandler(tornado.web.RequestHandler):
async def get(self):
raise ValueError("This is a test exception")

class MyTestCase(tornado.testing.AsyncTestCase):
async def test_exception(self):
app = tornado.web.Application([(r"/", MyHandler)])
self.assertRaises(ValueError, self.fetch, '/')

이 예제에서는 get 메서드가 실행될 때 ValueError 예외를 발생시키는 MyHandler 클래스를 정의합니다. 그런 다음 MyTestCase에 test_Exception 메서드를 정의합니다. 이 메서드에서는 self.assertRaises(ValueError, self.fetch, '/') 메서드를 사용하여 ValueError 예외가 발생했음을 확인합니다.

프로그램이 정상적으로 실행되면 단위 테스트는 통과됩니다. 예상된 예외가 발생하지 않으면 "Exception("예상된 예외를 얻지 못했습니다")" 오류가 발생합니다.

위 내용은 토네이도 오류 예외에 대한 솔루션(\'예상된 예외를 얻지 못했습니다\')의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 lsjlt.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제