13

「testthat」を使用して、2 つの値が等しくないことをテストしたいと考えています。次のようなものを使用して同等性をテストできます

expect_that(x, equals(y))

しかし、それらが等しくないと予想される場合はどうなりますか? 私は使用できます

expect_false(x == y)

これは正しい方法ですか、それとも次のようなものがありますか

expect_that(x, not_equals(y))
4

1 に答える 1

15

この関数testthat::equals()は実際には のラッパーall.equalです。したがって、次のようにテストを作成できます。

x <- 1:5
y <- 2:6
expect_false(isTRUE(all.equal(x, y)))
expect_false(isTRUE(all.equal(x+1, y)))
Error: isTRUE(all.equal(x + 1, y)) isn't false

引数が等しくない場合は文字列を返すためisTRUE、そこで使用する必要があります。all.equal

于 2012-08-24T16:49:30.420 に答える