People go back and forth on tests/A and A/tests, but I think the current thought is that A/tests is better than tests/A (altho with the package manager, the original rationale for that (keeping the code and the tests more together) seems to be gone.
But yeah, I'd definitely agree that a top-level tests submodule is a clear indication of tests. Robby On Thu, Aug 22, 2013 at 1:27 AM, Laurent <laurent.ors...@gmail.com> wrote: > Quickly: It is common to use a submodule for tests, in the same source > file: > (module+ test > (require rackunit) > ....) > > then running `raco test <file.rkt> ...` will run all the tests. Such tests > are also automatically run in DrRacket when you press run (along with the > 'main' submodule). > > For packages that have a collection A, it is also common (and considered > good practice) to have another collection 'test' with a subdirectory for A > and its tests. > See for example the xml-rpc repo: https://github.com/jeapostrophe/xml-rpc > This is partly intended for use with DrDr (that runs `raco test`), a tool > written by Jay for the development of Racket. I don't know much more about > it, but other people on this list do. > > Laurent > > > On Thu, Aug 22, 2013 at 7:54 AM, Chad Albers <calb...@neomantic.com>wrote: > >> As a Ruby engineer, we have a wonderful tool called "guard" that >> automatically runs our unit-tests every time a test-case changes or >> every-time a source file changes. >> >> I have written a guard plugin that performs the same task for Racket's >> rackunit. Currently, it pretty primitive - guard runs all tests if >> anything changes - and it makes several assumptions about how tests >> are structured. >> >> guard's ruby unit test plug works so well because there is a set of >> informal conventions that Ruby developers follow, and guard's ruby >> plugin works so well because it can counts on those conventions. >> >> Before I release "guard-rackunit" to the general public, I am >> wondering if similar conventions exist for rackunit. >> >> For instance, in my Racket project, the following conditions hold true >> 1. all tests are located at the root of the project in a directory call >> "tests" >> 2. in the "tests" directory, I have a "test-runner.rkt" file that >> performs all '(run-tests *). >> 3. Each test-suite file contains one 'provide' which corresponds to >> the name of the test-suite >> 4. Each test-suite file is name after the file that it tests and >> appends "-test.rkt"; eg. foo.rkt corresponds to foo-test.rkt >> >> If the Racket community follows a different set of conventions, I can >> change my guard plugin to follow those conventions, and only have >> guard run a test suite for the file it tests. >> >> Let me know 1) if there is any interest in this project, and 2) a set >> of conventions that I can generally depend upon. >> >> Thanks, >> Chad >> ____________________ >> Racket Users list: >> http://lists.racket-lang.org/users >> > > > ____________________ > Racket Users list: > http://lists.racket-lang.org/users > >
____________________ Racket Users list: http://lists.racket-lang.org/users