[TIP] Testing specific code

C. Titus Brown ctb at msu.edu
Tue Sep 1 21:43:28 PDT 2009


On Tue, Sep 01, 2009 at 03:46:02PM -0600, Matt Harrison wrote:
-> I've been messing around more with pyconverage.el[0] and have
-> 'flymake-mode' enabled it.  (For non-emacites, flymake-mode invokes a
-> callback during save/editing to highlight borked code).  So if you
-> enable flymake-mode to show coverage data it will try and find a
-> .coverage file and report on missing lines in your code.
-> 
-> There's somewhat of a impedance mismatch between coverage code and
-> flymake-mode, in that once you edit a file, there's no guarantees
-> about line numbers matching up.  As an idea to help deal with that and
-> to help focus coverage attention on specific code points, I thought of
-> an idea.  (I'm assuming others here have probably thought of it before
-> to).  What I'd like to do is have a (emacs) command that says 'run
-> tests for this function/method'.  Then something
-> (nose??/plugin??/emacs??) goes and finds tests that invoke that method
-> and only runs those tests and reports coverage for them.  A naive
-> implementation would be a simple regex match for the function name and
-> then look to see if it resides in a test.  That way you can edit your
-> codes and your tests and quickly retrieve relevant coverage
-> information.  Does this make sense?
-> 
-> So before I go off and implement this I thought I'd ask if it already
-> exists.  I can't find it.  Also feedback is good.   Is there a better
-> method/workflow?  I'd imagine other's might find such functionality
-> useful even without coverage information.  ie when you are looking
-> at/developing tests for code that is new to you.  I would think a nose
-> plugin would work best...

Hi, Matt,

this seems like a good use case for figleaf-sections, actually:

	http://ivory.idyll.org/blog/feb-07/figleaf-goodness.html

You would be able to look up which tests executed the line of code or
function in question...

cheers,
--titus
-- 
C. Titus Brown, ctb at msu.edu



More information about the testing-in-python mailing list