We currently use etaoin to drive the integration tests for a full stack clojure(script) application. However we have some front end components that use devcards and a bunch of specific UI states etc are tested by triggering synthetic events on these components. These tests were then integrated into CI by using etaoin to point at our shadow-cljs devcards build and verify the devcards UI doesn’t display any test errors. Obviously this is a bit gross; not least because the devcards dom isn’t very semantic (and detecting a test failure in the dom is pretty brittle due to the non-semantic html/css classes etc. Does anyone have any better ideas on how to integrate devcard tests built with shadow-cljs into a CI flow?
I’m guessing compiling the tests with shadow-cljs and using karma to run them is the right way