ayalaall
ayalaall

Reputation: 117

Package fail on CRAN due to test using testthat

I submitted my package to CRAN and it did not pass the CRAN R CMD check. This is the error they get:

* 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

and this is how my test file looks (and here is a link to 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)
})

How can I fix this?

Any help will be very much appreciated,

Ayala

Upvotes: 0

Views: 484

Answers (1)

sebastian-c
sebastian-c

Reputation: 15395

You're using skip_on_cran incorrectly. It needs to be contained within your test_that block:

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

Upvotes: 3

Related Questions