[Rd] Testthat and global environments in R packages on CRAN

Duncan Murdoch murdoch.duncan at gmail.com
Sun Feb 8 16:46:58 CET 2015


On 08/02/2015 8:22 AM, Måns Magnusson wrote:
> Hi!
> 
> Im currently developing an R package to automatically give students
> feedback on programming assignments in R. I use the testthat package as an
> engine for the unit testing and do a wrapper to make the automatic marking
> easy for the students.
> 
> One function (called mark_my_file() ) will mark the students lab file using
> testthat tests and a new (simple) reporter. The problem is that I need to
> do the marking of the lab with an empty global environment (due to the
> testthat package).
> 
> So my first thought was to:
> 1) store the global environement in the temporary directory as an
> .Rdata-file
> 2) clean the global environment
> 3) run the tests
> 4) clean the global environment (from the student lab file)
> 5) reload the old global environment
> 
> But the problem is that it is not possible to publish packages on CRAN that
> modifies the global environment.
> 
> Is there anyone that have any solutions/ideas to this problem?
> 
> The package can be found here:
> https://github.com/MansMeg/markmyassignment
> 

I don't think that testthat requires you to use the global environment.
 Could you give some example code to show where you think you need it?
Someone could probably come up with a different formulation.

Duncan Murdoch



More information about the R-devel mailing list