From murdoch.duncan at gmail.com  Sun Feb  8 16:46:58 2015
From: murdoch.duncan at gmail.com (Duncan Murdoch)
Date: Sun, 08 Feb 2015 10:46:58 -0500
Subject: [Rd] Testthat and global environments in R packages on CRAN
In-Reply-To: <CAFQDYB2Vz1ysc9GJGLHZoGQaiZe+x_ZDZ3s9HJOY7vNYt6TMoQ@mail.gmail.com>
References: <CAFQDYB2Vz1ysc9GJGLHZoGQaiZe+x_ZDZ3s9HJOY7vNYt6TMoQ@mail.gmail.com>
Message-ID: <54D784F2.8060006@gmail.com>

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



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