While unit tests are a key component of a single R package's quality, we need similar ways to test / validate a library of R packages or potentially Shiny applications. This session will walk through frameworks used for Acceptance-Test Driven Development (ATDD) and Behavior Driven Development (BDD) outside of R - cucumber, JBehave, etc. - how they work and their value-add to system quality. In short, tests are written in Quarto markdown, in a "given-when-then" format that is regex-matched against annotated functions that drive the testing and asserting of the system under test. The industry can write tests in plain-language and share those tests and feature code not only amongst themselves but also potentially as part of a validation effort with regulators. Feature code can also make use of packages like {chromote} to drive Shiny applications as well. This is bringing my experience as a contributor to JBehave to R and the pharmaverse.
Brian Repko
retired
R library validation using Acceptance-Test Driven Development
While unit tests are a key component of a single R package's quality, we need similar ways to test / validate a library of R packages or potentially Shiny applications. This session will walk through frameworks used for Acceptance-Test Driven Development (ATDD) and Behavior Driven Development (BDD) outside of R - cucumber, JBehave, etc. - how they work and their value-add to system quality. In short, tests are written in Quarto markdown, in a "given-when-then" format that is regex-matched against annotated functions that drive the testing and asserting of the system under test. The industry can write tests in plain-language and share those tests and feature code not only amongst themselves but also potentially as part of a validation effort with regulators. Feature code can also make use of packages like  chromote  to drive Shiny applications as well. This is bringing my experience as a contributor to JBehave to R and the pharmaverse.