[Python] pytest e classi

Perini Matteo perini.matteo a gmail.com
Mar 27 Ott 2015 11:47:52 CET


Il 26/10/2015 21:31, Manlio Perillo ha scritto:
> Un ultimo consiglio.
> Per testare funzioni come somma di solito è preferibile usare una
> tabella con l'input e l'output corretto; ad esempio:
Fatto! grazie

Ora però ho un altro problema che non riesco a risolvere.
Riporto l'esempio di prima con il nuovo problema.

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

class CC():
     def __init__(self):
         self.a = 2
         self.b = 4
         self.c = 5
     def menouno(self,x):
         return x-1
     def somma(self):
         return self.menouno(self.a+self.b+self.c)


if __name__=="__main__":
     tt=CC()
     print(tt.somma())

la somma in questo caso fa 10

Il mio file di test ora è così:

from pt import CC

def test_somma():
     CC.__init__(CC)
     assert CC.somma(CC)==10

Ma in questo caso self.menouno da errore perchè riceve un solo parametro 
(dice che manca la x)

Se nel file metto "return self.menouno(self, self.a+self.b+self.c)" 
viene eseguito il test ma non va più il programma e viceversa!

Ho cercato nella documentazione ma non ho ancora trovato una soluzione.

Grazie per l'aiuto
M.








Maggiori informazioni sulla lista Python