On Jun 5, 2012, at 1:01 PM, David Janke wrote:

> I just finished reading the blog post about the pre-release submodules 
> feature, and I'm curious what you all think about the new "test" submodule 
> that allows inline unit tests...
> 
> "The new raco test shell command runs the test submodule of a given module, 
> so that raco test fish2.rkt checks that all the values of the fish list are 
> numbers. The test submodule imports rackunit for its check form, but that 
> import does not create a dependency on rackunit (which is a substantial 
> library) for modules that import "fish2.rkt"; the dependency is only for the 
> test submodule."
> (http://blog.racket-lang.org/2012/06/submodules.html)
> 
> At first glance, the test submodule sounds like a cool idea, because your 
> tests can help document your functions. But, I can also imagine files where 
> the number of tests outnumber the lines of actual code. Plus, there's 
> something to be said for keeping different parts of an application 
> separate--tests vs. "work"
> 
> On the other hand, unless you explicitly run the tests, they are effectively 
> just comments, so no real harm in having them interspersed with the rest of 
> the code, right?
> 
> I'm fairly new to Racket and just wondering what the thinking is in the 
> community. Inline unit tests pop up here and there in other languages (Python 
> has doctest), but it's not really widespread. Seeing how it's going to be 
> part of the Racket core, maybe it's a technique I should start using?

My opinion:

It's very convenient to be able to place unit tests next to the functions that 
they test while developing code.  I agree that you may want to refactor later, 
and gather the tests together. Submodules (and more specifically module+) allow 
both of these.

John


Attachment: smime.p7s
Description: S/MIME cryptographic signature

____________________
  Racket Users list:
  http://lists.racket-lang.org/users

Reply via email to