
..
    Asserting deprecation and other warnings
    =====================================================

非推奨の警告やその他の警告のアサート
====================================

..
    The recwarn function argument
    ------------------------------------

関数の引数 recwarn
------------------

..
    You can use the ``recwarn`` funcarg to assert that code triggers
    warnings through the Python warnings system. Here is a simple
    self-contained test::

Python のワーニングシステムからの警告を受け取るコードをアサートするために ``recwarn`` という関数の引数が使えます。簡単な自己完結型のテストを紹介します::

    # test_recwarn.py の内容
    def test_hello(recwarn):
        from warnings import warn
        warn("hello", DeprecationWarning)
        w = recwarn.pop(DeprecationWarning)
        assert issubclass(w.category, DeprecationWarning)
        assert 'hello' in str(w.message)
        assert w.filename
        assert w.lineno

..
    The ``recwarn`` function argument provides these methods:

関数の引数 ``recwarn`` は次のメソッドを提供します:

..
    * ``pop(category=None)``: return last warning matching the category.
    * ``clear()``: clear list of warnings

* ``pop(category=None)``: カテゴリに一致する最後の警告を返す
* ``clear()``: 警告の一覧をクリアする

..
    Ensuring a function triggers a deprecation warning
    -------------------------------------------------------

非推奨の警告を発生させる関数の確認
----------------------------------

..
    You can also call a global helper for checking
    that a certain function call triggers a Deprecation
    warning::

非推奨の警告を発生させる特定の関数呼び出しを確認するためのグローバルなヘルパー関数も呼び出せます::

    import pytest

    def test_global():
        pytest.deprecated_call(myfunction, 17)
