Not an expert at all on the tooling aspect for CLJS testing, but here are some ideas regarding the approaches:
- For testing the “logical” aspects (computations, state transitions etc.), we all know the drill: write that logic as pure function manipulating simple data. Then it’s the same story as for backend testing.
- Testing the “UX” is knowingly difficult… You could do some end-to-end tests (a Clojure REPL is great for tuning those)
- Not exactly automated testing, but do you know about devcards?
- This talk about full-stack testing in Clojure seems somewhat related