From https://testthat.r-lib.org/reference/test_dir.html#special-files:
Helper files start with
helper
and are executed before tests are run. They're also loaded bydevtools::load_all()
, so there's no real point to them and you should just put your helper code inR/
.
This means that any packages I use for testing only, e.g. rprojroot
can no longer be suggests
, but must be imports
. And what about custom skip functions? They are irrelevant for the package and only used for testing.
It has been a good philosopy to separate tests from worker code. Why is there no longer a "real point" in it?
The many other changes required for testthat 3.0 are annoying and require a huge amount of work - I have no idea yet how to get rid of the many warnings created by calling third party packages.
We have decided not to use testthat
in future packages, and to avoid using tidyverse
in packages. tidyverse
is great for shoot-and-forget reports, but it is just too much hassle to keep up with all the tibble-et-al changes.