RStudio와 vdiffr에서 플롯을 테스트합시다.

3699 단어 RStudiotest

vdiff란?



vdiffr은 플롯 테스트를 지원하는 R 언어 패키지입니다.

플롯을 테스트하는 것은 아직 덜 일반적이라고 생각하지만,
ggplot과 ggridges (이전 이름 ​​ggjoy)는이 vdiffr을 사용하여 플롯을 테스트합니다.

vdiffr 사용 방법 실례



다음 예제는 vdiffr을 사용하는 방법을 보여줍니다.
(RStudio를 사용하여 vdiffr로 테스트하기만 하면 되는 package를 만듭니다.)

  • RStudio package의 병아리를 만드는 기능으로 아래와 같이 입력해 Create Project button 눌렀다 ( R/hello.R

  • install.packages(c("devtools", "testthat", "vdiffr"))

  • 아래의 내용으로 tests/testthat/test-hello.R 를 작성 (테스트하는 내용은 hello가 아니라plot이므로 본래 rename 해야 합니다만 생략합니다)
    context("Histograms")
    disp_hist_base <- function() hist(mtcars$disp)
    vdiffr::expect_doppelganger("Base graphics histogram", disp_hist_base)
    
  • RStudio의 Console View에서 vdiffr::validate_cases()를 실행합니다. 이것으로 테스트의 정답이 되는 레퍼런스 이미지 base-graphics-histogram.svg 가 `tests/figs/histograms' 에 완성됩니다.

  • 이 상태에서 Ctrl+Shift+T 또는 Build View의 More 메뉴 아래의 Test Package를 실행해보십시오. 아래 그림과 같이 오류가 발생하지 않아야합니다.



  • 그런 다음 참조 이미지 base-graphics-histogram.svg를 적절한 이미지 (단, 파일 이름은 base-graphics-histogram.svg로 rename하십시오)로 바꾸고 다시 Ctrl+Shift+T 또는 Build View의 More 메뉴에서 Test Package를 실행하십시오. . 아래 그림과 같이 테스트가 실패해야합니다.


  • 의 적절한 이미지(참조와 다른 이미지)를 원래 참조 이미지 base-graphics-histogram.svg로 되돌리면 다시 테스트 결과가 문제 없어져야 합니다.

  • 요약



    RStudio와 vdiffr을 사용하면 플롯 테스트를 쉽게 추가 할 수 있습니다.
    꼭 플롯도 테스트해 보세요.

    sessionInfo


    > sessionInfo()
    R version 3.4.3 (2017-11-30)
    Platform: x86_64-w64-mingw32/x64 (64-bit)
    Running under: Windows >= 8 x64 (build 9200)
    
    Matrix products: default
    
    locale:
    [1] LC_COLLATE=English_United States.1252  LC_CTYPE=English_United States.1252    LC_MONETARY=English_United States.1252
    [4] LC_NUMERIC=C                           LC_TIME=English_United States.1252    
    
    attached base packages:
    [1] stats     graphics  grDevices utils     datasets  methods   base     
    
    other attached packages:
    [1] vdiffrSample_0.1.0 gdtools_0.1.6      testthat_1.0.2    
    
    loaded via a namespace (and not attached):
     [1] Rcpp_0.12.14            rstudioapi_0.7          fontquiver_0.2.1        xml2_1.1.1              magrittr_1.5           
     [6] roxygen2_6.0.1          devtools_1.13.4         xtable_1.8-2            R6_2.2.2                rlang_0.1.4            
    [11] fontBitstreamVera_0.1.1 stringr_1.2.0           tools_3.4.3             withr_2.1.0             htmltools_0.3.6        
    [16] commonmark_1.4          yaml_2.1.15             digest_0.6.12           crayon_1.3.4            shiny_1.0.5            
    [21] purrr_0.2.4             vdiffr_0.2.1            htmlwidgets_0.9         mime_0.5                memoise_1.1.0          
    [26] glue_1.2.0              stringi_1.1.6           compiler_3.4.3          svglite_1.2.1           httpuv_1.3.5           
    [31] fontLiberation_0.1.0   
    > 
    

    좋은 웹페이지 즐겨찾기