2016-09-22 70 views
0

我将我的包提交给了CRAN,并且未通过CRAN R CMD检查。 这是他们得到了错误:由于使用testthat进行测试,CRAN上的包失败

* 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) 
}) 

我怎样才能解决这个链接

任何?帮助将非常感激,

Ayala

+0

您的意图对我而言并不清楚。你想在CRAN上跳过这个吗? –

+0

是的。它在CRAN检查上失败,虽然我有skip_on_cran() – ayalaall

+1

我认为你需要在'test_that'代码块中包含'skip_on_cran()'。你可以试试吗? –

回答

1

您错误地使用skip_on_cran。它需要包含在您的test_that区块中:

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

谢谢。除'context()'之外的所有代码都应该放在'test_that'里面,可以在这里看到https://github.com/ayalaallon/prepdat/blob/master/tests/testthat/test_prep.R – ayalaall

相关问题