Re: [ClojureScript] Clojurescript testing

2018-11-09 Thread Alan Thompson
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

2018-11-09 Thread Alan Thompson
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

2018-11-09 Thread Alan Thompson
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.


[ClojureScript] Clojurescript testing

2018-11-09 Thread Gareth James
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.