2015-10-26 17:32 GMT+01:00 Perini Matteo <perini.mat...@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
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a