Interface RealJenkinsRule.Step

All Superinterfaces:
Serializable
Enclosing class:
RealJenkinsRule
Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface public static interface RealJenkinsRule.Step extends Serializable
One step to run.

Since this thunk will be sent to a different JVM, it must be serializable. The test class will certainly not be serializable, so you cannot use an anonymous inner class, and regular lambdas also risk accidentally capturing non-serializable objects from scope. The friendliest idiom is a static method reference:

 @Test public void stuff() throws Throwable {
     rr.then(YourTest::_stuff);
 }
 private static void _stuff(JenkinsRule r) throws Throwable {
     // as needed
 }
 
If you need to pass and/or return values, you can still use a static method reference: try RealJenkinsRule.runRemotely(Step2) or RealJenkinsRule.runRemotely(StepWithReturnAndOneArg, Serializable) etc. (using XStreamSerializable as needed).
  • Method Summary

    Modifier and Type
    Method
    Description
    void