On 4/17/2011 1:32 AM, R. David Murray wrote:

As Brett said, people do come to depend on the details of the
implementation.  But IMO the PEP should be clarified to say that the
tests we are talking about should be tests *of the published API*.
That is, blackbox tests, not whitebox tests.

I think 100% *branch* coverage is barking up the wrong tree.
Better to say comprehensive *api* coverage. Bugs on the tracker generally come from not having that. (I am not saying 'all' to allow for bugs that happen from weird interactions or corner cases in spite of what could reasonably be called comprehensive._

I don't think the PEP is asking this either (or if it is I agree it
shouldn't be).  The way to get full branch coverage (and yes Exarkun is
right, this is about individual branches; see coverage.py --branch) is
to provide test cases that exercise the published API such that those
branches are taken.  If you can't do that, then what is that branch
of the Python code for?  If you can do that, how is the test case
testing an implementation detail?  It is testing the behavior of the
API.

Right.

--
Terry Jan Reedy

_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to