Details
-
Enabler
-
None
-
Obs Mgt & Controls
-
-
-
2
-
2
-
3
-
Team_KAROO
-
Sprint 5
-
-
-
5.6
-
-
Enabler Team_KAROO goal_O3 testing
Description
After a discussion between Karoo team, Giorgio and Vivek, here's a revised description suggested by Giorgio and agreed on:
Create examples of code by applying the Humble Object technique to TANGO device python code, extracting the logic from the Tango-related code. This logic should reside either in helper methods or in some other python class that are totally independent from Tango (i.e. they do not use any tango API). The output of this feature are examples of how to design more testable TANGO code so that teams can improve the testability of their code.
Initial description:
TANGO device as humble object, separating behaviour from communication. (May lead to hexagonal architecture). Separation of concerns: compliance to CORBA and ZeroMQ vs the logic implementation of business logic. Output of this can be an example of how to design more testable TANGO code so that teams can improve the testability of their code.
On the other side, explore testability, mockability of existing TANGO code. By doing this exploration, one may reach an architecture that is testable. Specifically, explore mocking of DeviceProxy to remove dependency on real devices running while testing TANGO clients. Output of this can be an example (using an existing TMC device) of how mocking of DeviceProxy is applied in testing of a TANGO client. This can be scoped to e.g. dish leaf node.