User Tooling: Unit Tests and Integration Tests
Kelerchian opened this issue · comments
Alan Darmasaputra commented
Stories:
- As a user, I want to test my MachineRunner-facing code, so that I check if my code is correct.
- As a user, I want to test my system that involves MachineRunner-facing code, so that I can verify if the overall system works correctly.
Acceptance Criteria:
- Toolings are provided to fulfill the above stories.
- Toolings can come in the form of APIs, user manual, example code, etc
Roland Kuhn commented
As a first step this issue will need to be updated with a list of concerns to be covered, so that we can assess the scope of the implementation.
Alan Darmasaputra commented
list of concerns to be covered
I will need to look for use-cases
Alan Darmasaputra commented
I picture two cases that needs testing:
- The first one is that the user needs to verify commands and reactions that they write regardless of actyx. A simpler version of Runner in runner.test.ts is sufficient for this.
- The second one is to simulate the swarm (different machines) in one environment.
The second one is still pretty vague to me, but the first one is easy enough to implement
Roland Kuhn commented
We should be more precise: could you sketch the kind of code a user would write for unit testing a given machine?
Integration tests will be quite different from unit tests (e.g. async vs sync), so we should probably split up this issue in two parts.
Alan Darmasaputra commented
Sure. Will do. I'll do add a the mockup utils too for the sync test