This is a regression test records interwoven code and output into a file, similar to Rmd. It's designed particularly for testing print methods and error messages, where the primary goal is to ensure that the output is helpful to a human. Obviously, there's no way to test that automatically, so the best we can do is make the results explicit by saving to a text file. This makes the presentation easier to see in code reviews, and avoids changing it accidentally.
verify_output(path, code, width = 80, crayon = FALSE)
Path to save file. Typically this will be a call to
test_path()
so that the same path when the code is run interactively.
Code to execute.
Width of console output
Enable crayon package colouring?
On CRAN, verify_output()
will not fail if the output changes. This is
beause tests of print methods and error messages are often fragile due to
implicit dependencies on other packages, and failure does not imply
incorrect computation, just a change in presentation.
verify_output()
can only capture the abstract syntax tree, losing all
whitespace and comments. To mildy offset this limitation, bare string
are turned into comments.