Descobri que é lento realizar menos testes, especialmente com operações de banco de dados no Django.
Ele passou por todo o processo de criação de banco de dados, tabelas, acessórios, testando e finalmente destruindo-os.
Levei quase meio minuto para fazer todas essas coisas.
Sem considerar a velocidade da minha máquina, existe alguma alternativa para acelerar o unittest no Django ou alguma dica de aceleração?
Respostas:
2 para resposta № 1O que faço é mudar para o SQLite quando quero executar testes. Demora muito menos tempo para configurar o banco de dados de teste no SQLite.
Você pode fazer isso facilmente usando um arquivo de configurações modificado:
$ python manage.py test my_app --settings=test_settings
Ou no meu caso,
$ python manage.py test my_app --settings=settings.test
como eu uso o esquema "configurações como um pacote".
2 para resposta № 2
Você pode acelerar os testes executando-os sqlite db armazenado na memória
DATABASES["default"] = {
"ENGINE": "django.db.backends.sqlite3",
"NAME": ":memory:"
}
0 para resposta № 3
Dê uma olhada Este artigo. Tem muitas dicas úteis, como:
- Alterar a função de hash de senha para MD5 (fez uma grande melhoria para mim).
- Usando um banco de dados mais rápido na memória.
- Desativando aplicativos e middleware desnecessários.