0

次のように認証されていない場合、API ポイントにアクセスできないかどうかをテストする単体テストがあります。

def test_endpoint_get_unauth(self):
    r = self.get('/api/endpoint/1')
    self.assertStatusCode(r, 401)

テストはパスしますが、nosetests/unittest には「許可されていません」という例外が発生したというエラーが表示されます。とにかくこれを止めることはありますか?

完全なログ:

ERROR in views [/myenv/lib/python2.7/site-packages/flask_restless/views.py:115]:
Not Authorized
--------------------------------------------------------------------------------
Traceback (most recent call last):
  File "/myapp/myenv/lib/python2.7/site-packages/flask_restless/views.py", line 113, in decorator
    return func(*args, **kw)
  File "/myapp/myenv/lib/python2.7/site-packages/flask/views.py", line 84, in view
    return self.dispatch_request(*args, **kwargs)
  File "/myapp/myenv/lib/python2.7/site-packages/flask/views.py", line 149, in dispatch_request
    return meth(*args, **kwargs)
  File "/myapp/myenv/lib/python2.7/site-packages/flask_restless/views.py", line 989, in get
    preprocessor(instance_id=instid)
  File "/myapp/app/api/api.py", line 16, in check_auth
    raise ProcessingException(message='Not Authorized', status_code=401)
ProcessingException
................
----------------------------------------------------------------------
Ran 16 tests in 15.788s

OK
4

3 に答える 3

2

表示されるメッセージは、アプリケーション ロギングからのものである可能性があります。

"ERROR"はイベントのログ レベルです。ロガーのしきい値をより高い値に設定する必要があります。

テストケース オブジェクトにappテスト クライアント アプリの属性があると仮定すると、そのテストのエラー メッセージを表示したくない場合は、次のように記述します。

def test_endpoint_get_unauth(self):
    import logging
    self.app.logger.setlevel(logging.CRITICAL)

    r = self.get('/api/endpoint/1')
    self.assertStatusCode(r, 401)

詳細については、https://docs.python.org/2/library/logging.htmlを参照してください。

于 2014-07-01T06:16:39.997 に答える