public class ExampleClass {
public void printMessage(String message) {
System.out.println(message);
}
}
import org.jboss.byteman.contrib.bmunit.BMRule;
import org.jboss.byteman.contrib.bmunit.BMUnitRunner;
import org.junit.Test;
import org.junit.runner.RunWith;
@RunWith(BMUnitRunner.class)
public class ExampleClassTest {
@Test
@BMRule(name = "Log message on method entry",
targetClass = "ExampleClass",
targetMethod = "printMessage",
action = "System.out.println(\"Entering printMessage\");")
public void testPrintMessage() {
ExampleClass example = new ExampleClass();
example.printMessage("Hello, Byteman!");
}
}
-javaagent:path/to/byteman.jar=script:/path/to/byteman.script
RULE Log message on method entry
CLASS ExampleClass
METHOD printMessage
AT ENTRY
IF TRUE
DO log("Entering printMessage")
ENDRULE