jakemcc / test-refresh

Refreshes and reruns clojure.tests in your project.
393 stars 28 forks source link

Extend it to clojurescript.test? #7

Closed magomimmo closed 10 years ago

magomimmo commented 10 years ago

Hi Jake, very useful stuff.

would be great to have it for clojurescript.test too....;-)

jakemcc commented 10 years ago

Glad to hear it is useful.

I haven't written ClojureScript in a while so would need to refresh myself with that workflow. I'll admit to basically writing zero tests when I was writing the tiny bit of ClojureScript I wrote as well.

A lot of the advantage of using lein-test-refresh is being able to skip the overhead of starting lein test by just reloading changed namespaces in the constantly running jvm.

Would we similar benefits with ClojureScript or would we be mostly benefiting from tests running without being triggered by a human and potentially having growl notifications on completions?

magomimmo commented 10 years ago

Thanks for the answer.

Would we similar benefits with ClojureScript or would we be mostly benefiting from tests running without being triggered by a human and potentially having growl notifications on completions?

If we can get both of them it will be great. Even just trigger the lein cljsbuild test task would be better than nothing….

A possibile workflow for portable CLJ/CLJS (using CLJX)

Terminal 1

Terminal 2

Terminal 3:

Alternatively

Terminal 3:

Thanks again

noprompt commented 10 years ago

Even just trigger the lein cljsbuild test task would be better than nothing…

@magomimmo While it would be better than nothing, it's still pretty darn close to it given that lein cljsbuild test can take a long time (depending on your machine). Also, it appears that lein-cljsbuild is planning to have an auto-test feature in v2.0.0.

The way I work around this problem currently is to use the Ruby watchr gem and have it watch my compiled .js file and run the equivalent clojurescript.test phantomjs command. Then it's just a matter of running lein cljsbuild auto <test-build-name>. This results in a very fast feedback loop after the first compile.

I've written up a short post about it (the blog styling is still under development).

jakemcc commented 10 years ago

Given that cljsbuild is going to start supporting this at some point I'm going to close this. I'm not doing any clojurescript and won't be able to solve this. I'd use a setup similar to what @noprompt suggested using some sort of filewatching tool.