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?

Foi útil?

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
scroll top