45 lines
1.9 KiB
Plaintext
45 lines
1.9 KiB
Plaintext
|
A Library Table is a table that can be used to install support fixtures so they are available for all pages underneath.
|
||
|
|
||
|
The format of the Library table is similar to the ImportTable.
|
||
|
|
||
|
|Library |
|
||
|
|echo script|
|
||
|
|
||
|
The first row contains the word '''Library'''. This is a reserved word so slim knows which table is executed. All subsequent rows are fixtures. In this case !-SliM-! will expect two fixtures: !-EchoSupport-! and !-FileSupport-!. These fixtures will be located the same as "normal" fixtures, meaning it will use the ImportTable's paths to scan.
|
||
|
|
||
|
Whenever a method is called that is '''not''' available on the fixture, then all installed libraries are scanned if that method is available and if so that one will be invoked.
|
||
|
|
||
|
Usage example:
|
||
|
|
||
|
'''File cleanup'''.
|
||
|
{{{
|
||
|
public class FileSupport {
|
||
|
public void delete(String folder) {
|
||
|
// do stuff here
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public class MyFixture {
|
||
|
public void doBusinessLogic(String folder) {
|
||
|
myFileCreatingService.createFileInFolder(..);
|
||
|
}
|
||
|
}
|
||
|
}}}
|
||
|
|
||
|
|script|my fixture |
|
||
|
|check |do business logic |42 |
|
||
|
|note |The following invocation is triggered on the "echo script" library fixture|
|
||
|
|echo |Hello world |
|
||
|
|
||
|
|
||
|
'''Order of method execution'''
|
||
|
|
||
|
The order of method execution is as follows:
|
||
|
|
||
|
1. Find method on fixture, if present execute
|
||
|
2. Find method on SystemUnderTest, if present execute
|
||
|
3. Find method on installed Library in '''reversed''' order of creation. So last one created takes precedence over the ones created earlier.
|
||
|
|
||
|
If you need to initialise the fixture you want to add to the library or your fixture has constructor parameters than this is possible as well.
|
||
|
See details on [[How To Add Fixtures With Parameters To The Library][.FitNesse.SuiteAcceptanceTests.SuiteSlimTests.LibrarySuite.HowToAddFixturesWithParametersToTheLibrary]]
|