2013-04-08 3 views
1

저는 R에 비교적 익숙하며 문서 및 단위 테스트 등의 예제 패키지를 개발하려고합니다. 회사는 모범 사례를 위해 그것을 참조하십시오. 그걸 염두에두고 devtools test()가 'Loading [package]'[package] NULL 테스트 중 '을 반환합니다.

가, 내가 R 기능이

#' Loads the typical example for a specific modelling problem 
#' 
#' @keywords helper dataset logistic 
#' 
#' @param purpose Provide the type of modelling you're looking to do 
#' @return dataset A dataset should be added to the workspace 
#' 
#' @examples 
#' relevantTestDataset(purpose="logistic") 
#' relevantTestDataset("logistic") 
#' 
#' @export 


relevantTestDataset<-function(purpose) 
{ 

    if (purpose=="logistic") 
    { 
    loadedPackage<-"caret" 
    loadedData<-c("GermanCredit") 
     } 

    data(list=loadedData,package=loadedPackage) 
} 

내가 다음 테스트를 만들었습니다 (자식 지점에서, RStudio에 의해 생성) 패키지 구조의 R 폴더에 저장 한 (저장 테스트는 그때 dev에 모드에서 테스트()를 실행하고 얻을

context("Basic functionality") 

test_that("a dataset is loaded up for each expected model type",{ 
    expect_that(relevantTestDataset("a"),throws_error()) 

}) 

stringr 구조 라인)에 폴더

Loading Example 
Testing Example 
NULL 

나는 test_dir ("/ tests /")을 시도했으며 빈 콘솔 행을 반환 한 다음 계속 이동합니다.

나는 그 것이 문제인지 알기 위해 다양한 기대를했지만, 모두 동일한 콘솔 출력을 반환합니다. 기능을 내 작업 공간에로드하고 실행하여 기능이 작동하는지 확인했습니다.

나는 완전히 어리 석고 명백한 것을하고 있다고 확신한다. 누군가 내가 잘못 가고있는 곳을 정확하게 말해 줄 수 있을까? 사전에

감사합니다, 스테파니

+0

귀하의 테스트를해야한다'''라이브러리 (testthat) 라이브러리와 ~/시험에서 ~/INST/테스트 /, 또한이 있어야 파일에 (rspear) test_package ("rspear")''' – EDi

+0

정말 고마워요! 그것들을 inst/tests로 옮기고 test()를 실행하면 효과가있었습니다. –

+0

답변으로 내 의견을 추가했습니다. 내 대답이 마음에 들면 받아 들일 수 있다고 표시 할 수 있습니다. – EDi

답변

1

당신의 시험은 ~inst/tests/에 있어야합니다. 예를 들어

:

context("Basic functionality") 

test_that("a dataset is loaded up for each expected model type",{ 
    expect_that(relevantTestDataset("a"),throws_error()) 
}) 

는 파일 ~inst/tests/test1.R에 있어야합니다.

는 또한 파일 ~tests/run-all.R이 있어야한다 :

library(testthat) 
library(<yourpackage>) 
test_package("<yourpackage>")