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.