0

我有一个测试,如果不满足先决条件(例如,丢失文件或其他东西),我想让它失败。

只是为了澄清,这是我想做的一个例子:

test_that("...", {
    if ( ... precondition to execute the test is not met... ) {
        expect_true(FALSE) # Make it fail without going further
    }

    expect_that( ... real test here ...)
})

现在我的问题是:在testthat包中是否有类似fail()的期望,或者我必须一直写?expect_true(FALSE)

4

2 回答 2

4

暂时没有fail功能testthat。我想你想要类似的东西

fail <- function(message = "Failure has been forced.", info = NULL, label = NULL)
{
  expect_that(
    NULL,
    function(message)
    {
      expectation(FALSE, message) 
    },
    info,
    label
  )
}

用法是,例如,

test_that("!!!", fail())
于 2012-09-20T15:53:18.867 回答
0

失败不是一种选择...

尝试使用stop

test_that("testingsomething", {
  if(file.exists("foo.txt")){
      stop("foo.txt already exists")
   }
  foo = writeFreshVersion("foo.txt")
  expect_true(file.exists("foo.txt"))
}
)
于 2012-09-20T07:04:34.837 回答