Pytest afirma la introspección en función de ayuda

pytest hace una pytest maravillosa de assert introspection por lo que es fácil encontrar diferencias en las cadenas, especialmente si la diferencia está en el espacio en blanco. Ahora utilizo un asistente de prueba un poco complicado que reutilizo en muchos casos de prueba. El ayudante también tiene su propio módulo, y para ese módulo quiero agregar introspección de afirmación.

helpers.py:

 ... def my_helper(): assert 'abcy' == 'abcx' 

test_mycase.py:

 from .helpers import my_helper def test_assert_in_tc(): assert 'abcy' == 'abcx' def test_assert_in_helper(): my_helper() 

el informe de prueba muestra información útil para las afirmaciones dentro de las pruebas pero not for asserts within the helper :

 =============================================================== FAILURES ================================================================ ___________________________________________________________ test_assert_in_tc ___________________________________________________________ def test_assert_in_tc(): > assert 'abcy' == 'abcx' E assert 'abcy' == 'abcx' E - abcy E ? ^ E + abcx E ? ^ tests/test_pytest_assert.py:9: AssertionError _________________________________________________________ test_assert_in_helper _________________________________________________________ def test_assert_in_helper(): > my_helper() tests/test_pytest_assert.py:13: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def my_helper(): > assert 'abcy' == 'abcx' E AssertionError tests/helpers.py:258: AssertionError ======================================================= 2 failed in 0.24 seconds ======================================================== 

Como solución alternativa, ofrezco información adicional con la afirmación, pero la salida todavía se ve rara y hace que el código explote. ¿Alguna idea de cómo puedo activar pytest assert introspection dentro del archivo de ayuda?

Encontré una pregunta diferente, pero desafortunadamente no pude hacer que la solución funcionara hasta ahora:

 import pytest from .helpers import my_helper pytest.register_assert_rewrite('helpers.my_helper') 

Tuve que poner el register_assert_rewrite en las pruebas / __ init__.py así:

 import pytest # we want to have pytest assert introspection in the helpers pytest.register_assert_rewrite('tests.helpers')