2013-09-24 8 views
8

Durante la scrittura dei test, di solito i nomi dei moduli sono preceduti da test_ ad esempio spam.py e test_spam.py. Questo rende facile trovare i test. Durante il test delle classi in un modulo, creo una derivata unittest.TestCase con un nome di classe simile, con suffisso Test. per esempio. Spam diventa SpamTest (non TestSpam poiché sembra che sia un'implementazione di prova di Spam). Quindi le funzioni di classe vengono testate dalle funzioni di test con prefisso test_ e postfixed con _testcondition o qualche altro suffisso descrittivo. Trovo che questo funzioni brillantemente come sono inclusi i nomi degli oggetti originali.Convenzione di denominazione del test dell'unità Python per le funzioni del modulo

Il problema si verifica quando si desidera verificare le funzioni a livello di modulo. Seguendo la mia struttura regolare creerei una derivata unittest.TestCase con lo stesso nome della funzione, postfissa con Test. Il problema con questo è che i nomi delle classi sono espressi in cammello e i nomi delle funzioni sono in basso con caratteri di sottolineatura per separare le parole. Ignorare la convenzione di denominazione some_function diventa SomeFunctionTest. Non posso fare a meno di sentire che questo è brutto.

Quale sarebbe la soluzione migliore? Qual è la pratica comune? C'è un 'standard' come pep8 per questo? Cosa usi?

+0

Onestamente? Non posso dire che importi. Basta essere coerenti. – Veedrac

risposta

3

Il modo in cui lo si sta facendo è l'approccio più pulito, a patto che ci sia una posizione chiara dove le persone si aspetterebbero di trovare i test per una funzione a livello di modulo, quindi penso che tu stia bene. La differenza stilistica tra il nome della funzione e il nome della classe di test - sebbene un fastidio - non è abbastanza significativa da preoccuparsi.