Unlike the main library I am not expecting much traffic here but it'd be nice to get some videos of tests running in some projects. Otherwise feel free to simply post general feedback of using the Test Engine (for specific request or bug report please open an issue).
imgui_test_suite (capture from November 2022):
https://user-images.githubusercontent.com/8225057/182409619-cd3bf990-b383-4a6c-a6ba-c5afe7557d6c.mp4
Activity
5I currently have the tests running in two different modes in vengi voxel tools:
-
Headless Mode I still need to implement a proper null backend to support running in pipelines where opening a window isn’t possible. For now, it’s simulated by simply hiding the created window.
-
Integrated into the Application(s)
This is an excellent tool for UI testing - thanks a lot! The most time-consuming part when writing tests is usually identifying the correct IDs for node lookups. The hover tools that display IDs are already very helpful, but navigating deeper into child elements or complex hierarchies can still be a bit tricky.
Aside from that, the imgui_test_engine is yet another reason why DearImGui is such a fantastic framework.
You can find my test implementations here: https://github.com/vengi-voxel/vengi/tree/master/src/tools/voxedit/modules/voxedit-ui/tests
The most time-consuming part when writing tests is usually identifying the correct IDs for node lookups. The hover tools that display IDs are already very helpful, but navigating deeper into child elements or complex hierarchies can still be a bit tricky.
This is something I am hoping to improve/simplify further as I realize it gets tricky. Specifically for Tables see my answer in #53.
https://github.com/BrunoO/FindHelper by @BrunoO uses the test engine:
"A cross-platform (thanks to ImGui!) file search application with a modern GUI built using ImGui and AI-powered assistance. Index a folder, search by name/pattern/extension, filter by size or date, and view results in a table—with optional AI-assisted search. The AI can provide the regexp or path pattern from a request in natural language, either by providing a ready-to-use prompt for your assistant, or by using a Gemini API key."
From open-smartwatch https://github.com/Open-Smartwatch/open-smartwatch-os (post https://github.com/Open-Smartwatch/open-smartwatch-os/pull/351)
https://github.com/user-attachments/assets/4825a047-e8a9-468e-9ec1-f5bbc827cfc0