私はモックとpython 2.7.3の最新バージョンを使用しています
私は最初のフラスコアプリを構築しており、いくつかの基本的なミドルウェアをテストして、flask.abort() が発生するかどうかを確認しています (発生した場合は、Unauthorized 例外でメソッドが呼び出されたと主張します)。
def test_invokes_raise_http_exception_when_apply_blows_up(self):
start_response = mock.Mock()
self.sut = BrokenMiddleware(self.app)
with mock.patch.object(self.sut, 'raise_http_exception') as raise_up:
self.sut.__call__({}, start_response)
raise_up.assert_called_once_with(Unauthorized(), start_response)
class BrokenMiddleware(Middleware):
def apply_middleware(self, environ):
flask.abort(401)
ここに私の生産コードがあります
class Middleware(object):
def __call__(self, environ, start_response):
try:
self.apply_middleware(environ)
except Exception as e:
return self.raise_http_exception(e, start_response)
def raise_http_exception(self, exception, start_response):
pass
私が抱えている問題は、発生した 401 がアサーション自体で期待しているものと同じではないため、モックがアサートに失敗することです。
実際のインスタンスではなく、タイプのみを気にする場合、どうすればアサーションを書き直すことができますか?