The problem with programming is that you are always one typo away from writing something silly. Likewise with data analysis, a small mistake in your model can lead to a big mistake in your results. Combining the two disciplines means that it is all too easy for a missed minus sign to generate a false prediction that you don't spot until it's too late. Testing is the only way to be sure that your code, and your results, are correct.
Testing R Code teaches you how to perform development-time testing using the testthat package, allowing you to ensure that your code works as intended. The book also teaches run-time testing using the assertive package; enabling your users to correctly run your code.
After beginning with an introduction to testing in R, Testing R Code explores more advanced cases such as integrating tests into R packages; testing code that accesses databases; testing C++ code with Rcpp; and testing graphics. Each topic is explained with real-world examples, and has accompanying exercises for readers to practise their skills – only a small amount of experience with R is needed to get started!
- Introduction
- Run-time testing with assertive
- Development-time testing with testthat
- Writing easily maintainable and testable code
- Integrating testing into your packages
- Writing your own assertions and expectations
- Answers to exercises
Richard James Cotton is a data scientist with a mixed background in proteomics, debt collection and chemical health and safety, and has worked extensively on tools to give non-technical users access to statistical models. He is the author of several dozen R packages, including "assertive" for run-time testing. He is active in the R community, as the founder and organiser of DohaR - the Doha R User Group.