reveal

kenny 2021-11-08T17:40:27.044200Z

Hi all. I'm hoping to replace my Cursive REPL with Reveal. The one piece that feels missing is clojure.test integration. I rely on Cursive's run test integration and diff viewer for my day-to-day work. I can hook up a keybinding to run a command to just run a particular test, but the output is the basic console print method. How are folks working with clojure.test & Reveal?

vlaaad 2021-11-15T08:31:51.053900Z

Woah, this is awesome!

vlaaad 2021-11-08T18:59:45.044300Z

I considered creating a test runner for Reveal! But that option wasn't very popular in a pool I ran awhile ago: https://twitter.com/v1aaad/status/1451821549833662475?t=LICd_VzFWfeaLwi03nFIvg&s=19

vlaaad 2021-11-08T19:00:05.044600Z

I still think the idea is good..

vlaaad 2021-11-08T19:08:40.044800Z

The least you can do is to bind clojure.test/*test-out* to *out* when running tests to forward output to Reveal

kenny 2021-11-08T19:11:50.045Z

Ah got it. I'll try that & see how it improves the output. What was your idea for a test runner integration?

vlaaad 2021-11-08T19:31:19.045200Z

Something like "test" action on vars/nses

vlaaad 2021-11-08T19:32:10.045400Z

That runs tests, accumulates outputs separately per test, displays diffs between expected/actual..

kenny 2021-11-08T19:39:32.045600Z

That'd be cool. This is something critical for me to have prior to switching. I'd like to look at implementing this as a library, perhaps this weekend. I'm curious what you thought the var & ns test output might look like?

vlaaad 2021-11-08T20:24:55.045800Z

I haven't thought it through, but I imagined something similar to IDEA's test output pane as seen in java projects - a tree of test contexts with progress reports and test output panel that shows output per selected test in a tree

👍🏻 1
kenny 2021-11-08T20:38:06.046100Z

Thank you for the quick responses. I'll fiddle with this idea this weekend. Never used cljfx so progress will probably be slow 🙂

👍 1
kenny 2021-11-15T01:55:36.053300Z

Still a ways to go, but basic structure is in place. Goal is to copy Cursive's test runner output: https://cursive-ide.com/userguide/testing.html#test-runner