我遇到了一个问题,我想使用设置为参数的测试值来运行多个测试。我想使用R的testthat
包,因为我认为这是非常方便的框架。问题是,当我将套件定义为函数并运行它时,它将在第一个断言时停止执行,而我希望我的测试套件运行所有测试并最后生成某种报告(类似于testthat::test_file()
)。
请考虑以下示例:
RunTest<- function(mean1, mean2){
test_that("Testing mean of Sepal length", {
expect_lte(mean(iris$Sepal.Length), mean1)
})
test_that("Testing mean of Petal.Length", {
expect_lte(mean(iris$Petal.Length), mean2)
})
}
当我运行RunTest(4,5)
时,它将在第一个断言时中断,并且不会继续进行第二个断言。我本来打算用无声的try / catch来包装每个测试,但是感觉应该有更好的解决方法。