seeing-things/track

Make it easier to test without hardware

Opened this issue · 0 comments

The exact scope of this needs to be defined, but the problem I'm interested in solving is that I often need to quickly test some change to the code but can't easily do so because my mount is not available or the camera is not connected. A specific example that happened just now is that I wanted to change the title on the guidescope preview window. Currently, the only way to test this code is to run the entire track program, which requires a camera and a mount to be connected. This is silly.

There are undoubtedly many ways to solve this problem. Some that come to mind:

  • Improve unit test coverage so I'm less reliant on one-off manual tests.
  • Create mock classes for mounts, cameras, etc. that emulate hardware. Even dumb ones that do almost nothing but implement the expected interfaces would have some value for testing. In my recent example, I didn't need any of the control system to work correctly. I just needed the window to open so I could see that the title was set correctly.