有显然是为了整合两种方式testthat使用R CMD check.我无法上班.
根据devtools维基:
在开发包时,将测试放在inst/tests中,然后创建一个文件tests/run-all.R(注意它必须是大写R),其中包含以下代码:
library(testthat)
library(mypackage)
test_package("mypackage")
Run Code Online (Sandbox Code Playgroud)
这将评估您在包命名空间中的测试(因此您可以测试非导出的函数),如果有任何测试失败,它将抛出错误.这意味着您将看到测试失败的完整报告,并且除非所有测试都通过,否则R CMD检查将不会通过.
整个包裹都在这里.它是两个文件:
## minimalbugexample/inst/tests/run-all.R
library(testthat)
library(minimalbugexample)
test_package('minimalbugexample')
Run Code Online (Sandbox Code Playgroud)
和
## minimalbugexample/inst/tests/test-use-Matrix-package.R
context("Intentional break")
expect_that( TRUE, equals(FALSE))
Run Code Online (Sandbox Code Playgroud)
我的描述是
Package: minimalbugexample
Title:
Description:
Version: 0.1.1
Author: Nathan VanHoudnos <nathanvan@letterafterFmail.com>
Maintainer: Nathan VanHoudnos <nathanvan@letterafterFmail.com>
Depends:
R (>= 3.0.1),
Matrix (>= 1.0)
Suggests:
testthat
License: GPL
LazyData: true
Collate:
'minimalbugexample-package.r'
'use-Matrix-package.R'
Run Code Online (Sandbox Code Playgroud)
安装软件包后,我可以正常运行测试(它们会失败,如预期的那样).
> test_package('minimalbugexample')
Intentional break : 1
1. Failure: -------------------------------------------------------------------
TRUE not equal to FALSE …Run Code Online (Sandbox Code Playgroud)