Guidance on (CI) testing a statistical algorithm implemented in R vs other languages (e.g. Python, Julia, Stata)

Hi to all of you here at ropensci,

I have recently implemented CI unit testing for my package, fwildclusterboot, against a Julia implementation via github actions. I am not sure if everything is done 100% perfectly, but the CI tests are running. I have described my workflow in a very non-technical blog post here.

Setting up the CI workflow was actually quite easy, but due to my lack of understanding of how github actions / CI testing work in general, I was uncertain if it was even feasible in the beginning. Unfortunately, I have found almost no resources that explain how to tweak rlib/actions based workflows for tests against other languages.

As unit testing is extremely important (I have discovered countless bugs thanks to tests) I thought that it might be great to have a set of tutorials that are a ‘how to test your R algorithm via CI/github actions against an implementation in another language’ for R package developers, and thought that maybe ropensci and your statistical software peer review project might be the right umbrella organization for collecting and distributing resources for such tasks?

1 Like

Thanks for this, @s3alfisc! This is very helpful and we will likely link to it from our developer’s guide.

I’d love to see a post about the tests themselves - how you implemented them and what you learned from testing against the implementation in another language. Our standards are relatively new so examples are always helpful.

1 Like

Hi @noamross, thanks for your reply! I will try to write a blog posts about unit testing, my learnings from the statistical software standards and testing against Julia over the holidays. Just as general feedback - so far, your standards have been really useful for me!