Class Filter

  • Direct Known Subclasses:
    Categories.CategoryFilter

    public abstract class Filter
    extends java.lang.Object
    The canonical case of filtering is when you want to run a single test method in a class. Rather than introduce runner API just for that one case, JUnit provides a general filtering mechanism. If you want to filter the tests to be run, extend Filter and apply an instance of your filter to the Request before running it (see JUnitCore.run(Request). Alternatively, apply a Filter to a Runner before running tests (for example, in conjunction with RunWith.
    Since:
    4.0
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static Filter ALL
      A null Filter that passes all tests through.
    • Constructor Summary

      Constructors 
      Constructor Description
      Filter()  
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      void apply​(java.lang.Object child)
      Invoke with a Runner to cause all tests it intends to run to first be checked with the filter.
      abstract java.lang.String describe()
      Returns a textual description of this Filter
      Filter intersect​(Filter second)
      Returns a new Filter that accepts the intersection of the tests accepted by this Filter and second
      static Filter matchMethodDescription​(Description desiredDescription)
      Returns a Filter that only runs the single method described by desiredDescription
      abstract boolean shouldRun​(Description description)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • ALL

        public static final Filter ALL
        A null Filter that passes all tests through.
    • Constructor Detail

    • Method Detail

      • shouldRun

        public abstract boolean shouldRun​(Description description)
        Parameters:
        description - the description of the test to be run
        Returns:
        true if the test should be run
      • describe

        public abstract java.lang.String describe()
        Returns a textual description of this Filter
        Returns:
        a textual description of this Filter
      • apply

        public void apply​(java.lang.Object child)
                   throws NoTestsRemainException
        Invoke with a Runner to cause all tests it intends to run to first be checked with the filter. Only those that pass the filter will be run.
        Parameters:
        child - the runner to be filtered by the receiver
        Throws:
        NoTestsRemainException - if the receiver removes all tests
      • intersect

        public Filter intersect​(Filter second)
        Returns a new Filter that accepts the intersection of the tests accepted by this Filter and second