由于使用testthat进行测试,CRAN上的程序包失败

时间:2016-09-22 15:37:32

标签: r cran testthat

我将我的包裹提交给CRAN并且没有通过CRAN R CMD检查。 这是他们得到的错误:

* checking tests ... ERROR
Running the tests in ‘tests/testthat.R’ failed.
Last 13 lines of output:
  Type 'contributors()' for more information and
  'citation()' on how to cite R or R packages in publications.

  Type 'demo()' for some demos, 'help()' for on-line help, or
  'help.start()' for an HTML browser interface to help.
  Type 'q()' to quit R.

  > library(testthat)
  > library(prepdat)
  >
  > test_check("prepdat")
  Error: On CRAN
  testthat results     ================================================================
  OK: 0 SKIPPED: 0 FAILED: 0
  Execution halted

这就是我的测试文件的外观(这里是指向GitHub的链接https://github.com/ayalaallon/prepdat

skip_on_cran()
library(prepdat)
data("finalized_stroopdata")
data("stroopdata")

context("Finalized table")

test_finalized_stroopdata <- prep(
  dataset = stroopdata
  , file_name = NULL
  , file_path = NULL
  , id = "subject"
  , within_vars = c("block", "target_type")
  , between_vars = c("order")
  , dvc = "rt"
  , dvd = "ac"
  , keep_trials = NULL
  , drop_vars = c()
  , keep_trials_dvc = "raw_data$rt > 100 & raw_data$rt < 3000 & raw_data$ac     == 1"
  , keep_trials_dvd = "raw_data$rt > 100 & raw_data$rt < 3000"
  , id_properties = c()
  , sd_criterion = c(1, 1.5, 2)
  , percentiles = c(0.05, 0.25, 0.75, 0.95)
  , outlier_removal = 2
  , keep_trials_outlier = "raw_data$ac == 1"
  , decimal_places = 0
  , notification = TRUE
  , dm = c()
  , save_results = FALSE
  , results_name = "results.txt"
  , results_path = NULL
  , save_summary = FALSE
)

test_that("Finialized table is correct", {
  expect_equal(test_finalized_stroopdata, finalized_stroopdata)
})

我该如何解决这个问题?

非常感谢任何帮助,

阿亚拉

1 个答案:

答案 0 :(得分:1)

您错误地使用了test_that("Finialized table is correct", { skip_on_cran() expect_equal(test_finalized_stroopdata, finalized_stroopdata) }) 。它需要包含在Hex块中:

EBCDIC