2016-12-24 5 views
0

구문 분석) (Rstudio 테스트 환경과 트래비스

test_that('parseMe',{ 
    expect_that(parseMe('print("hey")'), is_a('data.frame')) 
}) 

testthat

parseMe <- function(text) { 
    parsed = parse(text = text) 
    str(parsed) #for diagnosis 
    getParseData(parse(text = parsed)) 
} 

이 기능을 사용하여 테스트하는 단일 기능을 가지고있다 parseMe 패키지의 속성을 반환하지 않습니다 이 테스트는 Rstudio 명령 줄에서 대화식으로 수행됩니다. 그러나 Rstudio 테스트 환경에서 (v0.99.892) ("빌드"탭에서 테스트 할 때) parse 함수가 (str로 인해 테스트 출력에 표시되는) 특성을 반환하지 못하기 때문에이 테스트가 실패합니다. travis-ci에서도 같은 테스트가 실패합니다. 이것에 대한 이유는 무엇입니까? 어떻게 해결 될 수 있습니까?

아래는 내가 사용하는 최소한의 테스트 패키지에 대한 링크와 트래비스

+0

실제로 문제가되는 것 같습니다. 왜 대답하지 않습니까? – OganM

+0

그냥 나 자신을 했어. 당신이 그것을 쓰면 나는 그것을 받아 들일 것이다. – OganM

답변

1

속성은 parse(..., keep.source = TRUE) 경우 유지됩니다 테스트 로그입니다. keep.source의 기본값은 에서 ?parse 설명서에 따라 제공됩니다. 기본 옵션 값은 R을 대화식으로 비 대화식으로 실행하는 것과 달리 실행 가능성이 높습니다. 소스를 항상 유지하려면 TRUE로 설정해야합니다.