Check cassette names
Arguments
- pattern
(character) regex pattern for file paths to check. this is done inside of
tests/testthat/
. default: "test-"- behavior
(character) "stop" (default) or "warning". if "warning", we use
immediate.=TRUE
so the warning happens at the top of your tests rather than you seeing it after tests have run (as would happen by default)- allowed_duplicates
(character) cassette names that can be duplicated
Details
Cassette names:
Should be meaningful so that it is obvious to you what test/function they relate to. Meaningful names are important so that you can quickly determine to what test file or test block a cassette belongs. Note that vcr cannot check that your cassette names are meaningful.
Should not be duplicated. Duplicated cassette names would lead to a test using the wrong cassette.
Should not have spaces. Spaces can lead to problems in using file paths.
Should not include a file extension. vcr handles file extensions for the user.
Should not have illegal characters that can lead to problems in using file paths:
/
,?
,<
,>
,\
,:
,*
,|
, and\"
Should not have control characters, e.g.,
\n
Should not have just dots, e.g.,
.
or..
Should not have Windows reserved words, e.g.,
com1
Should not have trailing dots
Should not be longer than 255 characters
vcr::check_cassette_names()
is meant to be run during your tests, from
a helper-*.R
file
inside the tests/testthat
directory. It only checks that cassette
names are not duplicated. Note that if you do need to have duplicated
cassette names you can do so by using the allowed_duplicates
parameter
in check_cassette_names()
. A helper function check_cassette_names()
runs inside insert_cassette()
that checks that
cassettes do not have: spaces, file extensions, unaccepted characters
(slashes).