[Python] pytest e classi
Manlio Perillo
manlio.perillo a gmail.com
Lun 26 Ott 2015 17:56:36 CET
2015-10-26 17:32 GMT+01:00 Perini Matteo <perini.matteo a gmail.com>:
> Ciao,
> sto iniziando ad usare pytest.
> Probabilmente mi sto perdendo in un bicchier d'acqua ma ho grossi problemi
> con il passaggio di parametri alle funzioni di test.
> Faccio un esempio che forse č pių facile
>
> Ipotizziamo un file (xxx.py) fatto cosė:
>
> #!/usr/bin/env python3
> # -*- coding: utf-8 -*-
>
> import numpy as np
>
> def plusone(x):
> return x+1
>
> class CC():
> self.a = 2
> self.b = 4
> self.c = 5
>
> def somma(self):
> return self.a+self.b+self.c
>
> somma()
L'indentazione non č corretta; cosa stai facendo esattamente?
>
> -------------------
> Come faccio a testare la funzione somma?
Scrivi una funzione di test, tipo `test_somma`, e chiami la funzione
somma con diversi parametri di input e controlli
che l'output sia corretto.
> L'unico modo che ho trovato č stato quello di cambiare la funzione della
> classe cosė:
>
> def somma(self,a,b,c):
> self.a=a
> self.b=b
> self.c=c
> return self.a+self.b+self.c
> somma(CC,self.a,self.b,self.c)
>
> ma mi sembra una complicazione inutile.
Io non vedo il senso di quello che vuoi fare...
>
> Ho un file esterno per richiamare tutti i test_xxx.py fatto cosė:
>
> from xxx import *
> from xxx import CC
>
>
> def test_somma():
> assert somma(2,3,3)==8
>
>
> Il test funziona ma non mi sembra proprio il modo giusto di operare
>
Č l'unico modo.
Ah, e **cerca** di evitare * nell'import.
Ciao Manlio
Maggiori informazioni sulla lista
Python