Hi, Jose:
How does the following
I have not studied "Test Driven Development", but I routinely
write documentation "*.Rd" files before I write code, and the
documentation files include test cases in the "\examples" section. With
"\dontshow", I hide tests that I don't think would benefit a user.
The source for the 'fda' package includes numerous constructions
like the following:
\dontshow{stopifnot(}
all.equal(fRegressout, knee.hip.f)
\dontshow{)}
Here, "fRegressout" and "knee.hip.f" are two different objects
that should theoretically be equal. I show the user that they are in
fact equal, but I don't bother the user with the "stopifnot" call that
will stop "R CMD check" to let me know that the code fails this test. I
have not used "Runit", but it's on my "to do" list. "Sciviews-K" sounds
interesting, but I have not used it.
Also, Chambers (2008) Software for Data Analysis (Springer) says
that "trustworthy software" is "The Prime Directive". TDD sounds like
it would support that goal.
I will not be able to attend useR 2009 but would be interested in
a further discussion of this issue.
Best Wishes,
Spencer Graves
Tobias Verbeke wrote:
Jose Quesada wrote:
Hi,
I wonder what kind of interest there is on Test Driven Development
(TDD) in R.
Test Driven Development consists of writing the test before the
function, and iteratively build the function until it passes the test.
Python and Ruby (specially Ruby) have very strong test-oriented
cultures. In fact, in Ruby at least the custom is to do TDD and
lately Behavior-driven development (BDD). In BDD, one writes a story
of what one would want the code to do. This story is almost native
English, and then the test suite converts it into something that the
language understand as tests.
There are some posts on the list about this, but they are about
testing in general (Runit), not TDD. Example:
http://thread.gmane.org/gmane.comp.lang.r.general/85047
Recently, I found there is an alpha, but working implementation of
TDD for Komodo edit:
www.sciviews.org/SciViews-K/index.html
The editor has a green bar that becomes red as soon as one edits a
function, and that edit breaks the tests. This is tremendously useful.
Using Gmane search, the only mention I could find on svUnit was:
http://thread.gmane.org/gmane.comp.lang.r.general/136632/focus=136662
I think this could make a great UseR 2009 talk. Ideally, by someone
with more R experience than me, and even more ideally by Philippe
Grosjean :), but it push comes to shove, I could prepare such a talk.
Would this be interesting at all? Are there any resources that I have
missed?
There is the RUnit package which is a mature xUnit implementation for R.
I don't know of a tight integration into an editor (apart from
that it is _planned_ for StatET, the Eclipse R plug-in), but
as such it is very useful already.
http://cran.r-project.org/web/packages/RUnit/index.html
HTH,
Tobias
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide
http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.