<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">2015-10-26 19:31 GMT+00:00 Manlio Perillo <span dir="ltr"><<a href="mailto:manlio.perillo@gmail.com" target="_blank">manlio.perillo@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div id=":cc" class="" style="overflow:hidden">Per testare funzioni come somma di solito è preferibile usare una<br>
tabella con l'input e l'output corretto; ad esempio:<br>
<br>
table = [ ((1, 2, 3), 5), ((3, 5, 7), 15), ...]<br>
<br>
def test_somma():<br>
    for in, out in table:<br>
        cc = CC(*in)<br>
        assert cc.somma() == out<br>
<br>
CC(*in) è equivalente a CC(in[0], in[1], in[2]).</div></blockquote></div><br>Uhm... no. Questo e' un noto anti-pattern nel testing. Non si deve *mai* fare qualcosa del genere (a meno di non avere a che fare con un framework di test veramente primitivo).</div><div class="gmail_extra"><br></div><div class="gmail_extra"><a href="http://xunitpatterns.com/Parameterized%20Test.html">http://xunitpatterns.com/Parameterized%20Test.html</a></div><div class="gmail_extra"><br></div><div class="gmail_extra">"""</div><div class="gmail_extra"><span style="color:rgb(0,0,0);font-family:verdana,arial,helvetica,sans-serif;font-size:11px;line-height:17px">Several early reviewers wrote to me about a variation they use regularly: the </span><i style="color:rgb(0,0,0);font-family:verdana,arial,helvetica,sans-serif;font-size:11px;line-height:17px">Tabular Test</i><span style="color:rgb(0,0,0);font-family:verdana,arial,helvetica,sans-serif;font-size:11px;line-height:17px">. The essence of this is the same as doing a </span><i style="color:rgb(0,0,0);font-family:verdana,arial,helvetica,sans-serif;font-size:11px;line-height:17px">Parameterized Test</i><span style="color:rgb(0,0,0);font-family:verdana,arial,helvetica,sans-serif;font-size:11px;line-height:17px"> except that the entire table of values is in a single </span><a href="http://xunitpatterns.com/Test%20Method.html" class="" style="font-size:11px;text-decoration:none;font-weight:600;font-family:verdana,arial,helvetica,sans-serif;color:rgb(0,85,204);font-style:italic;line-height:17px">Test Method</a><span style="color:rgb(0,0,0);font-family:verdana,arial,helvetica,sans-serif;font-size:11px;line-height:17px">. Unfortunately, this makes the test an </span><a href="http://xunitpatterns.com/Assertion%20Roulette.html#Eager Test" class="" style="font-size:11px;text-decoration:none;font-weight:600;font-family:verdana,arial,helvetica,sans-serif;color:rgb(0,85,204);font-style:italic;line-height:17px"><i>Eager Test</i></a><span class="" style="font-style:italic;color:rgb(0,0,0);font-family:verdana,arial,helvetica,sans-serif;font-size:11px;line-height:17px"> (see Assertion Roulette on page X)</span><span style="color:rgb(0,0,0);font-family:verdana,arial,helvetica,sans-serif;font-size:11px;line-height:17px"> because it verifies many </span><a href="http://xunitpatterns.com/test%20condition.html" class="" style="font-size:11px;text-decoration:none;font-weight:600;font-family:verdana,arial,helvetica,sans-serif;color:rgb(0,85,204);line-height:17px">test conditions</a><span style="color:rgb(0,0,0);font-family:verdana,arial,helvetica,sans-serif;font-size:11px;line-height:17px">. This isn't a problem when all the tests are passing but it does lead to a lack of </span><a href="http://xunitpatterns.com/Goals%20of%20Test%20Automation.html#Defect Localization" class="" style="font-size:11px;text-decoration:none;font-weight:600;font-family:verdana,arial,helvetica,sans-serif;color:rgb(0,85,204);font-style:italic;line-height:17px">Defect Localization</a><span class="" style="font-style:italic;color:rgb(0,0,0);font-family:verdana,arial,helvetica,sans-serif;font-size:11px;line-height:17px"> (see Goals of Test Automation)</span><span style="color:rgb(0,0,0);font-family:verdana,arial,helvetica,sans-serif;font-size:11px;line-height:17px"> when one of the rows fails.</span></div><div class="gmail_extra"><font color="#000000" face="verdana, arial, helvetica, sans-serif"><span style="font-size:11px;line-height:17px">"""<br></span></font><div><div class="gmail_extra"><br></div></div><div>Se si usa Nose:</div><div><a href="https://nose.readthedocs.org/en/latest/writing_tests.html#test-generators">https://nose.readthedocs.org/en/latest/writing_tests.html#test-generators</a><br></div><div><br></div><div>Se si usa PyTest:</div><div><a href="https://pytest.org/latest/parametrize.html">https://pytest.org/latest/parametrize.html</a><br></div><div><br></div>-- <br><div class="gmail_signature"> .<br>..: -enrico-</div>
</div></div>