We have a few utilities that are useful for testing a Storyboard application. I've listed some below with links to the appropriate area of our docs:
- iogen and iorcv - These are command-line utilities for sending and receiving events over SBIO. You could use these utilities to inject events into your project to drive some testing scenarios. Here's a link for the utilities:
- screendump - This is a plugin for Storyboard that gives you the ability to generate a screenshot at runtime. Doc link for the action:
- capture/playback - This is a plugin for Storyboard that allows a user to capture a series of input events while running the application, then use this capture file to drive input on future execution of sbengine. You can use this for generating automated test scenarios. This can be configured as a set of options when running sbengine.
For unit testing Lua code we use the LuaUnit module, which is a unit testing framework without any external dependencies. The docs are found here: https://luaunit.readthedocs.io/en/luaunit_v3_2_1/. An alternative unit testing framework that is quite popular is Busted. This has additional functionality that is useful, but it does have dependencies on other modules.
Here's a list of Lua related tooling:
Lua Static Linter:
Lua Unit Testing:
As for observing paths and interactions, some of that information is available in our Design Report. You can generate the report for your project by selecting the GDE file, right click -> Storyboard Export -> Export Storyboard Design Report. In the report that gets generated you can find information for screen transitions (under "Screen Transitions"), and for interaction events (under "Event Summary").
We do error checking for invalid paths, missing images, etc, and we'll output appropriate errors and warnings.