使用test

时间:2015-06-26 20:14:16

标签: r testthat

我有一组R函数可以从Ruby应用程序调用,并希望测试它们。 R函数从Postgres数据库访问数据,以便编写我需要用一些示例数据填充测试数据库的测试。

我想避免在每个测试用例中清理数据库。如果我可以在每次测试之前启动事务并在之后回滚事务,那将是很好的。

"撰写测试的最后一段"本页的http://r-pkgs.had.co.nz/tests.html部分让我觉得在每个测试用例之前都无法执行代码块。

有没有人知道任何创意工作?我正在考虑分配项目并添加功能但是想确保我没有重新发明轮子。

1 个答案:

答案 0 :(得分:0)

对于任何偶然发现这一点的人,我最终为test_that()创建了一个包装器函数,我在从postgres获取数据时使用它。以下是我的解决方案:

db.test_that <- function(description, test_code) {
    dbGetQuery(database_connection, 'BEGIN TRANSACTION')

    test_that(description, test_code)

    dbRollback(database_connection)
}