System Under Test
Currently only available in Java
Using SystemUnderTest allows you to let SliM directly invoke a method on your SystemUnderTest without having to create a method in a SliM fixture for it.
Example
import fitnesse.slim.SystemUnderTest; /** * The slim fixture. */ public class SlimDriver { // field MUST be declared PUBLIC @SystemUnderTest public Service service = new Service(); public void init() { Database.clean(); } } /** * The service under test. */ public class Service { public void createPerson(String name) { Database.persist(new Person("name")); } public boolean exists(String name) { return Database.get(name) != null; } }
With the @SystemUnderTest annotation you can now say:
script | SlimDriver | |
init | ||
create person | Ben Vonk | |
ensure | exists | Ben Vonk |
When a method that should be invoked on the SliM fixture is missing, it will try to invoke that method on a public field annotated with SystemUnderTest.