Require usage of expect_false(x)
over expect_true(!x)
Source: R/expect_not_linter.R
expect_not_linter.Rd
testthat::expect_false()
exists specifically for testing that an output is
FALSE
. testthat::expect_true()
can also be used for such tests by
negating the output, but it is better to use the tailored function instead.
The reverse is also true – use expect_false(A)
instead of
expect_true(!A)
.
See also
linters for a complete list of linters available in lintr.
Examples
# will produce lints
lint(
text = "expect_true(!x)",
linters = expect_not_linter()
)
#> <text>:1:1: warning: [expect_not_linter] expect_false(x) is better than expect_true(!x), and vice versa.
#> expect_true(!x)
#> ^~~~~~~~~~~~~~~
# okay
lint(
text = "expect_false(x)",
linters = expect_not_linter()
)
#> ℹ No lints found.