Anyone have info or preferences on what are good output conventions for Racket package embedded unit tests?  (For use with all of: `raco test`, package catalog and other builds, DrRacket and other IDEs?)

I intend to reimplement Overeasy ("https://www.neilvandyke.org/racket/overeasy/";) in a way that is even more lightweight in both ease-of-use and in implementation. The syntax and features will be very similar, for now (there's one innovative big feature I might add later), but what I'm not yet sure about is all the details of the output.

For output, here's what I'm currently thinking:

* Most test messages other than fails are sent to logger `debug@test`.

* A test failing unexpectedly (or succeeding unexpectedly) results in a message to stderr.

* Should such a failing message also have some way of click navigating to the test failure in DrRacket, like for exceptions? (Note that the answer to the next might be involved.)

* Should the first failing test raise `exn:fail?`?  Or should `exn:fail?` be raised at the end of all a module's tests if any failed?  Or should `exn:fail?` not be raised at all by the tests?

* Should a test *failing expectedly* (as marked with `:fail`) also result in a message to stderr?  Maybe a `warning@test` logger is better?  (Note that, IIRC, the package catalog will regard output as a failure of tests for the package.  Which can remind us that there is `:fail`, but can also discourage the programmer/qa capturing and tracking the info about the expected-fail tests.)

* For the test-failure messages to stderr, what textual format should they have?  More like the current Racket exception format, or current RackUnit, or Overeasy?  (Or is there a pressing need for a different format?)

--
You received this message because you are subscribed to the Google Groups "Racket 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to