@hadley는 바이너리 패키지에서 tests/
이 존재하지 않는다는 것을 의미합니다. 소스 패키지에만 있습니다. 규칙은 설치시 inst/
의 내용이 패키지 최상위 디렉토리에 복사되므로 inst/tests/
은 이진 및 설치된 패키지 디렉토리 구조에서 /tests
으로 사용할 수 있습니다.
내 순열 패키지를 예로 들어 봅시다. 나는 @ hadley의 testthat 패키지를 학습 경험과 패키지 테스트에 사용했다. 패키지는 CRAN입니다. 소스 타르볼을 잡고 두 파일 모두 tests/
과 inst/tests/
을 갖고 있는지 확인한 다음 Windows 바이너리를 가져 와서 tests/
이라는 알림과 소스에있는 inst/tests
의 복사본입니다.
엄밀히 말하면 tests/
은 R CMD check
등으로 실행됩니다. 개발 중에는 프로덕션 패키지의 확인시 패키지가 테스트하는 tests/
에 코드가 필요하거나 다른 단위 테스트가 필요합니다. 물론 tests/
에 /inst/tests/
에있는 R 스크립트를 실행하는 코드가 있습니다. 과에 테스트 코드를 패키지 사용자가 사용할 수있게 만드는 부작용이 있습니다.
inst/tests
이 필요한지 여부는 최소한 tests/
이 필요합니다. 패키지를 개발하는 방법과 사용중인 단위 테스트 코드/패키지에 따라 달라집니다. inst/tests/
은 @hadley 옹호자이지만 CRAN의 많은 부분에서 표준이되는 것과는 거리가 멀다.
오, 알겠습니다. 나는 실제로 테스트가/개발자로부터 테스트를보고 있다고 생각했습니다. 나는 그것이 inst/tests /라는 것을 깨닫지 못했다. 감사. –
글쎄, 소금으로 4 번째 단락을 가져 가자. 이것은 Martin Maechler가 초기에 Rmetrics 패키지를 작성한 것으로 거슬러 올라갑니다. 시험을 치르기 전에'inst/tests'가 * 년 전에 사용되었습니다. –
@DirkEddelbuettel 역사 수업을 보내 주셔서 감사합니다. 이것이 마틴 때문인 줄을 몰랐습니다. 그래도 그걸로 참아 라. 마틴 *과 * 해들리가 사용하더라도 ;-) –