C'è un modo (utilizzando il framework standard Django.test.TestCase) per eseguire un'inizializzazione globale di alcune variabili, in modo che avvenga solo una volta.impostazione globale nel framework di test di Django?
Mettere le cose setUp() fa in modo che le variabili siano inizializzate prima di ogni test, che uccide le prestazioni quando l'installazione comporta operazioni costose. Mi piacerebbe eseguire una funzione di tipo setup una volta, e quindi avere le variabili inizializzate qui saranno visibili a tutti i miei test.
Preferirei non riscrivere il framework del test runner.
Sto pensando a qualcosa di simile a un prima (: tutti) nel mondo Ruby/RSpec.
-S
Giusto - Stavo cercando di evitare un runner di test personalizzato - non sembra che io possa avere una scelta. Più lavoro con Django, più mi manca Rails. Python ha un supporto di libreria scientifico molto migliore, quindi credo di poter vivere con esso. – shreddd
Penso che il test runner usato fosse come 15-30 linee di codice nelle versioni più datate di Django, quindi probabilmente non lo consideravano un grosso problema copiarlo e crearne uno nuovo. È stato modificato in un'intera classe e è cresciuto di dimensioni nelle versioni successive. Puoi sempre suggerire una richiesta di funzionalità da aggiungere in modo da eseguire un codice di installazione aggiuntivo (magari in setup_test_environment()) senza specificare un nuovo runner (un'impostazione aggiuntiva o un segnale globale)? –
Grazie ancora per i suggerimenti: stavo cercando un modo dichiarativo per farlo seguendo le linee di setUp() ma sembra che potrei dover montare un corridore. Una richiesta di funzionalità ha senso. – shreddd