相关疑难解决方法(0)

如何为R CMD检查设置testthat?

有显然是为了整合两种方式testthat使用R CMD check.我无法上班.

方法#1 :(可能已弃用)

根据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)

r testthat

21
推荐指数
1
解决办法
4395
查看次数

标签 统计

r ×1

testthat ×1