importar duas vezes quando executar o teste
Pergunta
Eu tenho esse código no meu tests.py:
from models import *
e no models.py Eu tenho um manipulador de sinal e registrá-lo com
post_save.connect( post_save_note, sender=Note )
e quando eu executar o teste com ./manage.py test main
Eu encontrei o manipulador de sinal foi registrado duas vezes e executado duas vezes, e eu achei que é porque os modelos foi importado duas vezes.
Não posso colocar from models import *
no código de teste?
O que devo fazer?
Solução
Você precisa ter certeza de seus modelos são sempre importados da mesma forma.
Assim, por exemplo, se você tem em example1/tests.py
:
from models import *
e em outro example2/views.py
pacote:
from example1.models import ModelA
então você vai ter o problema que você está enfrentando. A solução é ser consistente e utilizar apenas um ou o outro.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow