This Project is to help me ensure that Cucumber Jelly (https://github.com/NickCharsley/CucumberJelly) is able to help test Netbeans Projects.
To some extent I'm following Geertjan Wielenga's instructions for Loosely Coupled Reloadable Capabilities for CRUD Applications https://dzone.com/articles/loosely-coupled-reloadable-capabilities , although On occasions I think he does jump some simple steps that I think are critical, but hopefully if you compare this to the articles there then you will get some of the pointers I could have done with.
Currently this has:
- The compleat First Step (Tagged Reloadable), from https://dzone.com/articles/loosely-coupled-reloadable-capabilities.
- The compleat Second Step (Tagged Savable), from https://dzone.com/articles/loosely-coupled-saveable-capabilities.
- The compleat Third Step (Tagged Creatable), from https://dzone.com/articles/loosely-coupled-creatable-capabilities.
- The compleat Fourth Step (Tagged Deletable), from https://dzone.com/articles/loosely-coupled-deletable-capabilities
- The essence of the Fifth Step (Tagged OMG), from https://dzone.com/articles/loosely-coupled-data-layers
- Some Feature Files and Step Files to test the above.
The fifth and final step had some really wicked refactoring, un-exporting various packages, and here the cucumber testing really shone, at each step it was possible to quickly check it wasn't broken.
The final addition wass to create the 'text' query and ensure it returned enough data to pass the cucumber test, and with all the Cucumber tests in place again this was reasonably simple to do!
As part of this we also refactored the creation of test data. This involved making use of the loosely coupled data layer, and expanding it with the missing entity collections.
N.B. In the articles between the Second and Third Steps Geertjan switches from the Derby Sample Database due to issues with saving. A later comment appears to indicate how to avoid this issue, so this is Continued with the customer database.