A nose plugin to run JUnit tests via Jython.

Floating an idea to all of you in pythonland – I’ve been sketching out a nose plugin that would be able to find and execute JUnit tests in your for your java code base.

The reporting of the result would be unified – using nose-xunit for non-junit tests, you should get back one happy-shiny report for all of your tests.

Anyone have any thoughts out there?

  • Not sure if you are interested in gaining "user share" from the Java community but I have a feeling you'd be hard pressed to pull Java users away from Test-NG unless they were already working mostly in Python. TestNG offers a lot of features that Nose doesn't have. The nice ones that come to mind: re-running just failing tests, fancy grouping that goes a little beyond nose's attr plugin, and better tests-in-parallel support. In fact, I'd love to see some of these features in Nose.
  • See my reply to Ben above - I don't want to take mindshare from Java, I don't want to play in those reindeer games, I just want the ability to run tests in my java code base that are above unit-test level (functional, system level) that don't make sense to run with the units.

    I'll peek at the features your talking about for nose, I love the attr-style grouping of nose (of course, I'm biased, I loves me tagging).
  • Just ONE thought: a "nose plugin" sounds like a real ECCH...!-)

    Alex
  • I really want to write a plugin/wrapper called nose-job, that would listen for remote execution/job requests.
  • Ben
    What would this entail in terms of running nose tests which depend on CPython libraries? Would it require running one set of tests with CPython and another set of tests with Jython? If so, I'm not sure how much of an advantage this would be over using other pre-existing JUnit test executors (if such executors are available or already being used in an organization).
  • No - I don't expect (or want) to take mindshare away from JUnit runners people know - however in a mixed language environment, it may make sense to have "one runner to bind them" so to speak. In my case, I am looking at using nose to run all tests that are above unit-level, this means functional, acceptance, etc - I don't want to have to deal with multiple runners and silos of results, ergo making a plugin for nose that can smell-out, and run Junit tests.

    Under the hood, nose (as it is in cpython) would operate normally but be able to find tests in the java code. Jython would be used to actually fire up the JVM and use JUnit to run the java tests it found.

    So, I'm not suggesting reinventing the wheel, just making it so I can run tests I "wouldn't normally have a view into"
blog comments powered by Disqus