Re: [ClojureScript] Clojurescript testing
This setup includes the ability to use/test native JS libs in 3 different ways, which required a bit of a struggle (i.e. trial & error) to get the syntax right. Here are the native JavaScript files in ~/resources: ~/expr/cljs-template > tree resources resources └── public ├── css │ └── style.css ├── dino-externs.js ├── dino.js ├── index.html ├── js ├── libs │ └── wilma.js └── pebbles.js On Fri, Nov 9, 2018 at 2:18 PM Alan Thompson wrote: > You can see the source layout as follows: > > ~/expr/cljs-template > tree src test > src > ├── clj > │ └── flintstones > │ └── test_clj.clj > ├── cljc > │ └── flintstones > │ ├── bambam.cljc > │ ├── core.cljc > │ ├── slate.cljc > │ └── test_cljs.cljc > └── cljs > └── flintstones > └── test_cljs.cljs > test > ├── clj > ├── cljc > │ └── tst > │ └── flintstones > │ ├── bambam.cljc > │ └── slate.cljc > └── cljs > └── tst > └── flintstones > ├── dino.cljs > ├── doorunner.cljs > ├── pebbles.cljs > └── wilma.cljs > > 13 directories, 12 files > > > > > > On Fri, Nov 9, 2018 at 2:17 PM Alan Thompson wrote: > >> I have a nice setup for CLJS testing using the `doo` test framework. It >> can run tests either at the command line using `phantomjs` or in the >> browser (eg Chrome). It has source and test dirs segregrated into `clj`, >> `cljc`, and `cljs` subdirs so you can get macros and dual-use code working >> correctly. You can see it here: >> >> https://github.com/cloojure/cljs-template >> >> A sample run: >> >> >> ~/expr/cljs-template > lein clean ; time lein doo phantom test once >> >> ;; == >> ;; Testing with Phantom: >> >> doorunner - beginning >> doorunner - end >> >> Testing tst.flintstones.dino >> test once - enter >> globalObject: #js {:a 1, :b 2, :c 3} >> (-> % .-b (+ 5) => 7 >> (js/makeDino) => #js {:desc blue dino-dog, :says #object[Function]} >> dino.desc => blue dino-dog >> dino.says(5) => Ruff-Ruff-Ruff-Ruff-Ruff! >> :keep-words ("am" "having" "today") >> :re-seq ("am" "having" "today") >> test once - leave >> >> Testing tst.flintstones.wilma >> test each - enter >> test each - leave >> test each - enter >> wilmaPhony/stats:#js {:lipstick red, :height 5.5} >> wilma => #js {:desc patient housewife, :says #object[Function]} >> test each - leave >> >> Testing tst.flintstones.pebbles >> test once - enter >> test once - leave >> >> Testing tst.flintstones.slate >> logr-slate-enter >> logr-slate-leave 3 >> >> Testing tst.flintstones.bambam >> test each - enter >> test each - leave >> test each - enter >> logr-bambam-enter >> logr-bambam-leave 3 >> test each - leave >> >> Ran 9 tests containing 22 assertions. >> 0 failures, 0 errors. >> lein doo phantom test once 38.52s user 0.84s system 333% cpu 11.813 total >> >> >> >> On Fri, Nov 9, 2018 at 10:14 AM Gareth James wrote: >> >>> I'm currently researching different methods for testing clojurescipt >>> code, specifically unit testing, automated browser testing and code >>> coverage. I'm specifically trying to find more information about the use of >>> cljs.test and cljs.spec either individually or together. Could anyone share >>> any experience they have of using either of these or any other information >>> about how they are testing their code. >>> >>> Thanks >>> Gareth >>> >>> -- >>> Note that posts from new members are moderated - please be patient with >>> your first post. >>> --- >>> You received this message because you are subscribed to the Google >>> Groups "ClojureScript" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to clojurescript+unsubscr...@googlegroups.com. >>> To post to this group, send email to clojurescript@googlegroups.com. >>> Visit this group at https://groups.google.com/group/clojurescript. >>> >> -- Note that posts from new members are moderated - please be patient with your first post. --- You received this message because you are subscribed to the Google Groups "ClojureScript" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojurescript+unsubscr...@googlegroups.com. To post to this group, send email to clojurescript@googlegroups.com. Visit this group at https://groups.google.com/group/clojurescript.
Re: [ClojureScript] Clojurescript testing
You can see the source layout as follows: ~/expr/cljs-template > tree src test src ├── clj │ └── flintstones │ └── test_clj.clj ├── cljc │ └── flintstones │ ├── bambam.cljc │ ├── core.cljc │ ├── slate.cljc │ └── test_cljs.cljc └── cljs └── flintstones └── test_cljs.cljs test ├── clj ├── cljc │ └── tst │ └── flintstones │ ├── bambam.cljc │ └── slate.cljc └── cljs └── tst └── flintstones ├── dino.cljs ├── doorunner.cljs ├── pebbles.cljs └── wilma.cljs 13 directories, 12 files On Fri, Nov 9, 2018 at 2:17 PM Alan Thompson wrote: > I have a nice setup for CLJS testing using the `doo` test framework. It > can run tests either at the command line using `phantomjs` or in the > browser (eg Chrome). It has source and test dirs segregrated into `clj`, > `cljc`, and `cljs` subdirs so you can get macros and dual-use code working > correctly. You can see it here: > > https://github.com/cloojure/cljs-template > > A sample run: > > > ~/expr/cljs-template > lein clean ; time lein doo phantom test once > > ;; == > ;; Testing with Phantom: > > doorunner - beginning > doorunner - end > > Testing tst.flintstones.dino > test once - enter > globalObject: #js {:a 1, :b 2, :c 3} > (-> % .-b (+ 5) => 7 > (js/makeDino) => #js {:desc blue dino-dog, :says #object[Function]} > dino.desc => blue dino-dog > dino.says(5) => Ruff-Ruff-Ruff-Ruff-Ruff! > :keep-words ("am" "having" "today") > :re-seq ("am" "having" "today") > test once - leave > > Testing tst.flintstones.wilma > test each - enter > test each - leave > test each - enter > wilmaPhony/stats:#js {:lipstick red, :height 5.5} > wilma => #js {:desc patient housewife, :says #object[Function]} > test each - leave > > Testing tst.flintstones.pebbles > test once - enter > test once - leave > > Testing tst.flintstones.slate > logr-slate-enter > logr-slate-leave 3 > > Testing tst.flintstones.bambam > test each - enter > test each - leave > test each - enter > logr-bambam-enter > logr-bambam-leave 3 > test each - leave > > Ran 9 tests containing 22 assertions. > 0 failures, 0 errors. > lein doo phantom test once 38.52s user 0.84s system 333% cpu 11.813 total > > > > On Fri, Nov 9, 2018 at 10:14 AM Gareth James wrote: > >> I'm currently researching different methods for testing clojurescipt >> code, specifically unit testing, automated browser testing and code >> coverage. I'm specifically trying to find more information about the use of >> cljs.test and cljs.spec either individually or together. Could anyone share >> any experience they have of using either of these or any other information >> about how they are testing their code. >> >> Thanks >> Gareth >> >> -- >> Note that posts from new members are moderated - please be patient with >> your first post. >> --- >> You received this message because you are subscribed to the Google Groups >> "ClojureScript" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to clojurescript+unsubscr...@googlegroups.com. >> To post to this group, send email to clojurescript@googlegroups.com. >> Visit this group at https://groups.google.com/group/clojurescript. >> > -- Note that posts from new members are moderated - please be patient with your first post. --- You received this message because you are subscribed to the Google Groups "ClojureScript" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojurescript+unsubscr...@googlegroups.com. To post to this group, send email to clojurescript@googlegroups.com. Visit this group at https://groups.google.com/group/clojurescript.
Re: [ClojureScript] Clojurescript testing
I have a nice setup for CLJS testing using the `doo` test framework. It can run tests either at the command line using `phantomjs` or in the browser (eg Chrome). It has source and test dirs segregrated into `clj`, `cljc`, and `cljs` subdirs so you can get macros and dual-use code working correctly. You can see it here: https://github.com/cloojure/cljs-template A sample run: ~/expr/cljs-template > lein clean ; time lein doo phantom test once ;; == ;; Testing with Phantom: doorunner - beginning doorunner - end Testing tst.flintstones.dino test once - enter globalObject: #js {:a 1, :b 2, :c 3} (-> % .-b (+ 5) => 7 (js/makeDino) => #js {:desc blue dino-dog, :says #object[Function]} dino.desc => blue dino-dog dino.says(5) => Ruff-Ruff-Ruff-Ruff-Ruff! :keep-words ("am" "having" "today") :re-seq ("am" "having" "today") test once - leave Testing tst.flintstones.wilma test each - enter test each - leave test each - enter wilmaPhony/stats:#js {:lipstick red, :height 5.5} wilma => #js {:desc patient housewife, :says #object[Function]} test each - leave Testing tst.flintstones.pebbles test once - enter test once - leave Testing tst.flintstones.slate logr-slate-enter logr-slate-leave 3 Testing tst.flintstones.bambam test each - enter test each - leave test each - enter logr-bambam-enter logr-bambam-leave 3 test each - leave Ran 9 tests containing 22 assertions. 0 failures, 0 errors. lein doo phantom test once 38.52s user 0.84s system 333% cpu 11.813 total On Fri, Nov 9, 2018 at 10:14 AM Gareth James wrote: > I'm currently researching different methods for testing clojurescipt code, > specifically unit testing, automated browser testing and code coverage. I'm > specifically trying to find more information about the use of cljs.test and > cljs.spec either individually or together. Could anyone share any > experience they have of using either of these or any other information > about how they are testing their code. > > Thanks > Gareth > > -- > Note that posts from new members are moderated - please be patient with > your first post. > --- > You received this message because you are subscribed to the Google Groups > "ClojureScript" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to clojurescript+unsubscr...@googlegroups.com. > To post to this group, send email to clojurescript@googlegroups.com. > Visit this group at https://groups.google.com/group/clojurescript. > -- Note that posts from new members are moderated - please be patient with your first post. --- You received this message because you are subscribed to the Google Groups "ClojureScript" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojurescript+unsubscr...@googlegroups.com. To post to this group, send email to clojurescript@googlegroups.com. Visit this group at https://groups.google.com/group/clojurescript.