R 在使用testthat包进行每个单元测试之前声明函数

R 在使用testthat包进行每个单元测试之前声明函数,r,testthat,R,Testthat,我想创建全局函数,用于我的包的每个单元测试: beforeTest()它创建要测试的数据库表 postest()它将删除测试数据库表 档案: /tests/testthat.R: library(mypackage) library(testthat) beforeTest <- function() { # implementation } afterTest <- function() { # implementation } test_check("myp

我想创建全局函数,用于我的包的每个单元测试:

  • beforeTest()
    它创建要测试的数据库表
  • postest()
    它将删除测试数据库表
档案:

/tests/testthat.R:

library(mypackage)  
library(testthat)

beforeTest <- function() {
  # implementation
}

afterTest <- function() {
  # implementation
}

test_check("mypackage")

问题是,文件
unit\u test\u 1.R
没有看到函数
beforeTest()
betertest()

我想这取决于您执行测试的方式(RStudio、devtools…)。我将把函数放在tests/test中一个单独的R文件中,并在每个测试文件中生成函数。这就是我在包中“注入”db连接的方式……我通过
devtools::test()
Thx执行测试,我也会这样做。
test_that("mytest", {
  beforeTest()
  on.exit(afterTest()) 

  # implemetation of the unit test...
  # ...
  # ...
})