¿Cómo configurar testthat para R CMD check?

Aparentemente hay dos maneras de integrartestthat conR CMD check. Tampoco puedo ponerme a trabajar.

Enfoque # 1: (tal vez en desuso)

De acuerdo con ladevtools wiki:

Al desarrollar un paquete, ponga sus pruebas en inst / tests y luego cree un archivo tests / run-all.R (tenga en cuenta que debe ser una R mayúscula), que contiene el siguiente código:

library(testthat) 
library(mypackage)
test_package("mypackage") 

Esto evaluará sus pruebas en el espacio de nombres del paquete (para que pueda probar las funciones no exportadas) y generará un error si se producen fallos en las pruebas. Esto significa que verá el informe completo de las fallas de prueba y la verificación de R CMD no pasará a menos que todas las pruebas pasen.

Todo el paquete esaquí. En ella se encuentran los dos archivos:

## minimalbugexample/inst/tests/run-all.R
library(testthat)
library(minimalbugexample)
test_package('minimalbugexample')

y

## minimalbugexample/inst/tests/test-use-Matrix-package.R
context("Intentional break")
  expect_that( TRUE, equals(FALSE))

mi DESCRIPCION es

Package: minimalbugexample
Title: 
Description: 
Version: 0.1.1
Author: Nathan VanHoudnos <[email protected]>
Maintainer: Nathan VanHoudnos <[email protected]>
Depends:
    R (>= 3.0.1),
    Matrix (>= 1.0)
Suggests:
    testthat
License: GPL
LazyData: true
Collate:
    'minimalbugexample-package.r'
    'use-Matrix-package.R'

Después de instalar el paquete, puedo ejecutar las pruebas muy bien (fallan, como se esperaba).

> test_package('minimalbugexample')
Intentional break : 1


1. Failure:  -------------------------------------------------------------------
TRUE not equal to FALSE
1 element mismatch
Error: Test failures
> 

Pero unR CMD check No ejecuta las pruebas.

$ R CMD check minimalbugexample_0.1.1.tar.gz 
... snip ...
* checking PDF version of manual ... WARNING
WARNING: There was 1 warning.
See
  ‘/home/nathanvan/software/minimalbugexample.Rcheck/00check.log’
for details.

No creo que la advertencia de PDF tenga nada que ver con esto, pero puedo proporcionar más detalles si lo solicito.

Enfoque # 2: (borde sangrante)

De acuerdo con laArchivo README de latestthat repositorio:

Ahora, la práctica recomendada es poner las pruebas en pruebas / prueba y asegurarse de que R CMD se ejecute luego poniendo el siguiente código en pruebas / prueba-todo.

library(testthat)
test_check(yourpackage)

Así que me aseguré de tener instalada la versión más reciente de testthat:

> install_github("testthat")

Y luego cambió el paquete. Puedes conseguir esta versiónaquí. He modificado los dos archivos para que sean

## minimalbugexample/inst/tests/test-all.R
library(testthat)
test_check(minimalbugexample)

y

## minimalbugexample/inst/tests/testthat/test-use-Matrix-package.R
context("Intentional break")
  expect_that( TRUE, equals(FALSE))

Luego, actualizando la versión del paquete a 0.1.2 en el archivo de DESCRIPCIÓN, puedo compilarlo, instalarlo y usarlo.testthat para comprobarlo y obtener la misma salida que antes. Así que parece que hastatestthat Se refiere, su funcionamiento.

Sin embargo, R CMD check aún no ejecuta las pruebas:

$ R CMD check minimalbugexample_0.1.2.tar.gz 
... snip ...
* checking PDF version of manual ... WARNING
LaTeX errors when creating PDF version.
This typically indicates Rd problems.
WARNING: There was 1 warning.
See
  ‘/home/nathanvan/software/minimalbugexample.Rcheck/00check.log’
for details.
Así que la pregunta:

¿Qué estoy haciendo mal? Mi preferencia es por una solución para el Enfoque 2, ¡pero me quedo con cualquiera!

Respuestas a la pregunta(1)

Su respuesta a la pregunta