Infissi

infissi, stato riutilizzabile per scrivere test puliti e altro
Scarica ora

Infissi Classifica e riepilogo

Annuncio pubblicitario

  • Rating:
  • Licenza:
  • The Apache License 2.0
  • Nome editore:
  • Robert Collins
  • Sito web dell'editore:
  • http://bazaar.canonical.com

Infissi Tag


Infissi Descrizione

Infissi, stato riutilizzabile per scrivere test puliti e altro Gli infissi è uno strumento che definisce un contratto Python per la logica di stato / supporto riutilizzabile, principalmente per il test dell'unità. L'aiutante e la logica dell'adattamento è inclusa per semplificare la scrittura dei propri infissi usando il contratto di infissi. È previsto il codice di colla che consente di utilizzare infissi che soddisfano il contratto di riquadri in casi di test compatibili ancora più facili e diretti. Perché FixTuresstand Python Unittest.py non fornisce alcun metodo evidente per creare e riutilizzare lo stato necessario in un metodo di prova diverso da un metodo di prova la classe di test. Questa scala scarseggiamente - le funzioni dell helper complesse che propogliono una gerarchia della classe di test è un modello regolare quando questo è fatto. Beffardo mentre un grande strumento non impedisce questo (e gli aiutanti a deridere le cose complesse possono accumularsi allo stesso modo se posti sulla classe di test). Dercando un contratto uniforme in cui gli aiutanti non hanno dipendenza dalla classe di test permettere a tutti i Attività di igiene del codice regolare per avvenire senza l'influenza distorta di essere in una gerarchia di classe che sta modellando una cosa completamente diversa - che è ciò che gli aiutanti su una prova su cui soffre di prova. L'apparecchio Fixturesa rappresenta un po 'di stato. Ogni apparecchio ha attributi su di esso specifico per l'apparecchio. Ad esempio, un dispositivo che rappresenta una directory che può essere utilizzata per i file temporanei potrebbe avere un attributo 'Path'..Creating FixturesMinimally, la sottoclasse apparecchi, definire la configurazione per inizializzare il proprio stato e pianificare una pulizia per quando viene chiamata la pulizia e hai fatto: >>> Importa Unittest >>> Impianti di importazione >>> CLASS NOSDDYFIXTURE (FIXTURES.FIXTURE): ... DEF SETUP (SELF): ... Super (NoddyFixture, Self) .Sup () ... Self.FrabNozzle = 42 ... self.addcleanUp (Delattr, Self, 'Frobnozzle') Questo inizializza il frobnozzle quando viene chiamato la configurazione, e quando viene chiamata la pulizia eliminare l'attributo frobnozzle. C'è un aiutante per adattarsi a una funzione di funzioni o funzioni . Mette il risultato della funzione in fn_result: >>> import os.path >>> import shutol >>> import tempfile >>> def Setup_function (): ... ritorna tempfile.mkdtemp () >>> def Teardown_function ( Apparecchio): ... shosil.rmtree (fixture) >>> fixture = fixtures.functionfixture (setup_function, tealodown_function) >>> fixture.setup () >>> Stampa os.path.isdir (fixture.fn_result) True >> > Fixture.cleanUp () L'esempio Abithe di Fixture sopra introduce parte dell'API di apparecchio. Per poter essere in grado di ripulire dopo che un dispositivo è stato utilizzato un dispositivo, tutti gli apparecchi definiscono un metodo di pulizia che dovrebbe essere chiamato quando un dispositivo è finito con. Perché è bello essere in grado di costruire un particolare insieme di infissi correlati in anticipo dell'uso loro, gli apparecchi hanno anche definito un metodo di configurazione che dovrebbe essere chiamato prima di tentare di usarli. Un desiderio comune con gli apparecchi che sono costosi da creare è riportarli in molti casi di test; Per supportare questo il dispositivo di base definisce anche un reset che chiama self.cleanUp (); sé.setup (). Gli infissi che possono recersi in modo più efficiente riutilizzano dovrebbero sovrascrivere questo metodo. Questo può quindi essere utilizzato con più stato di test tramite cose come TestResources, SetupClass o Setupmodule. Quando si utilizza un dispositivo con un test è possibile chiamare manualmente i metodi di configurazione e pulizia. Però utilizzare più conveniente utilizzare la colla inclusa da fixtures.testwithfixtures che fornisce un mixin che definisce l'usifixture (custodia del cammello perché il metodo di cammello è il caso del cammello. Chiamerà l'installazione sul dispositivo, chiama self.addcleanup (fissaggio) per pianificare una pulizia e restituire il dispositivo. Ciò consente di scrivere: >>> import testtools >>> import unittestnote che usiamo TestTools TestCase qui perché abbiamo bisogno di garantire un metodo TestCase.AddcleanUp. >>> CLASS NODDYTEST (TestTools.Testcase, Fixtures.TestwithFixtures): ... def test_esempio (auto): ... fixture = self.usefixture (nodyfixture ()) ... self.assertequal (42, fixture.frabNozzle) >>> Risultato = Unittest.TestreSult () >>> _ = NODDYTEST ('TEST_EXAMPLE'). Esegui (Risultato) >>> RISULTAMENTO RISULTATO.WassUCCessful () TrueFixtures Implementare il protocollo di contesto, quindi è possibile utilizzare anche un apparecchio come A Gestore del contesto: >>> con fixtures.functionFixture (Setup_function, Teardown_function) come dispositivo: ... Stampa os.path.isdir (fixture.fn_result) Requisiti vere: · Python.


Infissi Software correlato