Uploaded image for project: 'Buildr'
  1. Buildr
  2. BUILDR-62

JUnit test filtering should allow custom filtering, and not test JUnit @Test annotation on class


    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.3
    • Fix Version/s: 1.3
    • Component/s: Test frameworks
    • Labels:


      If I understand correctly, in test_frameworks.rb


      JUnit tests are collected by taking
      1) everything that extends JUnit 3 TestCase
      2) every class that is annotated with JUnit 4 @Test
      3) every method that is annotated with JUnit 4 @Test

      2) is clearly wrong, as @Test only applies to methods, not classes

      Also, I found no way to run JDave ( http://www.jdave.org/ ) specs or a custom suite with the current 1.3 trunk (22 April 2008). In 1.2, this is very easy with Buildr::Java::JUnit::JUNIT_TESTS_PATTERN filtering by test / spec class names.

      Some kind of an abstraction for filtering the relevant test or spec classes is important not only for custom test framework integration, but for custom suites in big projects. Running a lot of tests is typically faster in a suite, and when you have different sets of tests (unit, integration, acceptance, black-box against a deployed application, ...) you typically want to specify which set to run. For example, the continuous integration server might only run tests against the deployed application a couple of times a day, but unit tests all the time for fast feedback. Different grouping methods of test frameworks are framework specific, and rather than making Buildr support framework specific ways, it could operate on an extra abstraction level.

      Filtering by class name has worked well elsewhere (ant, maven, buildr 1.2), so it would be excellent if it would be included in 1.3 as well.




            • Assignee:
              thrantal Timo Rantalaiho
            • Votes:
              10 Vote for this issue
              2 Start watching this issue


              • Created: