Nice work, Allen.  I want to add stubs/mocks to test-is.  One question
-- would it work without Var.pushThreadBindings, maybe using a
combination of "with-local-vars" and "binding"?

I was also thinking of modifying "report" to throw AssertionError,
like your "throwing-report", so that I can get a stack trace for where
the error occurred.

-Stuart Sierra


On Jan 6, 11:06 pm, Allen Rohner <aroh...@gmail.com> wrote:
> I had to revisit my test stubbing/expectation code after the recent
> changes to test-is. The good news is, because of the excellent change
> to make "is" a multi-method, the expectation code easily fits into
> test-is. The following patch adds a new assertion for is, (is
> (called?))
>
> ;;  creates a stub function, binds it to an existing var and asserts
> ;;  the stub fn was called the correct number of times.
>
>    (is (called? [[user/foo :times 2 :returns 42]
>                       [user/bar :times 1 :returns 3]]
>          (user/foo x y z)
>          (user/bar z)))
>
> Inside of the called? block, user/foo and user/bar are rebound to stub
> functions, and then asserts that each function is called the proper
> number of times. Currently, the only two options an expectation takes
> are :times and :returns. I expect that more will be needed.
>
> http://groups.google.com/group/clojure/web/test_is_called.patch
>
> Allen
--~--~---------~--~----~------------~-------~--~----~
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
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to