【发布时间】:2012-09-12 12:01:16
【问题描述】:
我有一个测试,如果不满足先决条件(例如,缺少文件或其他东西),我想让它失败。
只是为了澄清,这是我想做的一个例子:
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)?
【问题讨论】:
-
如果你只是期望前置条件测试通过(expect_true),那么失败自然会发生......我仍然不明白为什么我的答案不正确。
-
@Spacedman 原因是你没有回答我的问题,你可以在我的问题中找到粗体字:-) testthat我>?
-
那么你想要的不是'fail()-like期望'(这有点无意义),而是一种引发失败条件的方法?
stop("reason for fail")可能会这样做。 -
其他测试工具,例如 JUnit,例如 supports it。正如我所展示的,
expect_true(FALSE)是一个可行的解决方案,但我很感兴趣是否有内置机制(即 testthat 库中的 expectation)。跨度> -
文档和源代码会迅速告诉您没有完全等价的。不过,我不确定它有多大价值,因为大多数时候我认为最好不满足您的要求而不是强迫它。随便。
标签: r unit-testing testthat