Open Aariq opened 1 year ago
The logs of PEcAn.BIOCRO seem to have expired.
So is the failing test
being talked about here in PEcAn.BIOCRO
package present in this file : Link ?
@meetagrawal09 Yes, that's the one.
A lot of the complexity in that file is my fault (from 5 years ago now!) -- feel free to ask me me questions about it as needed. It may be obvious, but in case: Note that there are two separate kinds of mocking at play here.
settings
object expects to contain a live database connection that will be used inside the run.biocro
call. This is the thing @Aariq is proposing to mock.mock_result
are trying to keep the tests working after I added some /very/ hacky internal code to support two very different versions of the BioCro model. We may want to consider sunsetting support for the older version, but that's a separate project.(^all of that applies only to this particular BioCro test, not to bety-dependent tests in other packages)
@Aariq , I would like to work on this.
Description
Tests for some packages fail in environments without access to BETYdb. E.g. PEcAn.BIOCRO.
Proposed Solution
I'm familiar with "webmocking", where requests to an API are stored and then used to simulate future API calls for unit tests without the necessity for a internet connection. A preliminary search for database mocking turned up with
dittodb
, an rOpenSci package inspired byhttrtest
(for webmocking) but for mocking database connections. Using database mocking with tests would help make PEcAn packages more modular and would be necessary for passing unit tests for CRAN.Alternatives