Django

Acelerando Testes no Django


Tentando reduzir o tempo que os testes consomem pra rodar, descobri um trqieu que fez um simples TestCase cair de 1:49 min pra 6 segundos: transfira a base de teste onde os testes rodam do mysql (ou posgresql) para o sqlite3. Dica simples, que aceleram muito as coisas:

if 'test' in sys.argv:
	DATABASES = {
		'default': {
			'ENGINE': 'sqlite3',
			'NAME': 'NOME_DA_BASE', # Ou o caminho do arquivo físico a ser usado pelo Sqlite
		}
	}
else:

	# Aqui vão as configurações da sua base de desenvolvimento/produção

Pode ser necessario algumas mudanças nas migrations existentes para manter a compatibilidade entre os bancos, pois comigo foi necessario algumas alterações. Mas nada que não compensasse a economia de tempo.


I'm Pedro Mendes, a passionate developer and technology enthusiast. This blog covers programming and technology in the broadest sense possible. It's the place I collect my thoughts, work and findings to share with the public.

View Comments