Guess this is somewhat a personal perspective, but here are some thoughts 
on testing in Clojure:

- People do a lot of automated testing in general and there are some great 
testing libraries available (e.g. test.check)
- People tend not to strictly follow "Test Driven Development" practices. 
e.g. in my experience, tests are usually added after the fact (I think 
Rich's guard rail analogy is more a criticism of TDD rather than testing in 
general)
- Writing in idiomatic Clojure in functional style is a big plus for 
testing (much easier to test pure functions and immutable data structures).
- Lack of static typing is a big minus (you often have to write tests to 
verify properties that even a fairly simple static type system would have 
caught for you). core.typed may alleviate this, though at the cost of extra 
code and build complexity.
- There is some very good integration with the CI tools (CircleCI etc.) 
that you can take advantage of
- If you are trying to test whole systems with state, rather than just just 
individual bits of code, then you should look at the mocking capabilities 
in stuartsierra/component
- A lot of testing during development is done informally at the REPL. There 
is a risk that people get a bit lazy about converting these into proper 
tests later, but on average the convenience and quick feedback of REPL 
usage is a big win.

On Wednesday, 25 March 2015 10:53:44 UTC+8, Daniel Hinojosa wrote:
>
> What is TDD culture in Clojure like? Is it strong in the community and 
> other projects?  I am aware of Rich Hickey's guard rail analogy. Did that 
> have an effect on how Clojurists view TDD or testing in general? Just 
> asking for my own personal research.
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to