问题标签 [testthat]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - 我应该在哪里使用 testthat 将数据用于自动化测试?
我正在使用Hadley 的基于 testthat 的方法对我的包进行自动化测试。
使用这种方法,最适合放置测试数据文件的位置是什么,这些文件仅由测试/testthat 中的测试脚本使用,而不是 R/ 中的任何其他函数?
我目前的方法是将它们放入tests/testdata
,然后read.table
从那里使用相对路径而不是 system.file (以避免需要安装包来运行测试)。
有没有标准的方法来做到这一点?
r - 单元测试独立工作,但在 test_that 调用中失败
我正在对forecast
包运行单元测试,特别是针对forecast.ar()
函数。我有一段代码在单独运行时工作得很好。
但是,当我将它嵌入到一个test_that()
函数中时(在开始一个新的干净的 R 会话之后),我收到一个错误,即 ts 为空。我已经确定错误发生在生成fc1
和的两行上fc2
;simseries
被正确保存。
为什么会这样?ar
我认为使用包中的andarima.sim
函数可能是命名空间问题stats
,因此我在函数调用中包含了 stats 命名空间,但这并不能解决问题。
R 3.1.1 预测 6.1 测试 0.10.0
r - Is it possible to determine test order in testthat?
I am using testthat
to check the code in my package. Some of my tests are for basic functionality, such as constructors and getters. Others are for complex functionality that builds on top of the basic functionality. If the basic tests fail, then it is expected that the complex tests will fail, so there is no point testing further.
Is it possible to:
- Ensure that the basic tests are always done first
- Make a test-failure halt the testing process
r - `test_that` 中的 `expect_error` 不起作用
如果我跟随,行为是预期的。没有返回任何东西
当我运行相同的代码,但包裹在里面test_that
输出很奇怪,这意味着expect_true(FALSE)
折叠时不会产生错误test_that
。
怎么放expect_error
里面test_that
?
更新
我用于testthat
代码断言。有包assertthat
。
r - How do you turn off colored text in testthat?
I use the package colorout to color my output in R (I don't use RStudio). When running tests in testthat
it also prints out in color interfering with the colorout package printing a lot of color codes.
Here is an example of the output:
How can I turn off coloring in testthat
?
r - Generic dispatching in a package after a call to devtools::test()
I am confused about something. when I put this function into a package
it works fine
but then, when I use devtools::test(), it stops working
This is problematic for me because I test my packages with the following work flow:
build the package, putting a file called
package_root\tests\testthat_tests.R, with the body
and then in
package_root\tests\testthat\file.R, I put tests
I then test them in R with
what can I do?
Note that I spared you all of the text of my package overhead but the package's NAMESPACE imports the Matrix package and exports oddTranspose, and that the package DESCRIPTION "depends" on Matrix.
r - 使用“testthat”测试包导出
问题:我如何才能在加载我的包而不是从我的包继承testthat
的环境中运行?
背景:包在“从包的命名空间环境继承的环境中”testthat
运行测试[参见test_check的文档]。这意味着它不能确保我已经正确地完成了我的导出,这让我被咬了好几次。
例如,我的包中有以下代码:
在我的测试中如下:
那测试就好了。但是如果用户安装了这个包,他们会得到这个错误:
解决方案是@exports
为这两种方法声明,但测试没有捕捉到这一点真是太可惜了。
我更愿意从用户的角度运行我的所有测试,因为有时我倾向于搞砸我的导出。也许可以添加一个选项来testthat:::run_tests
选择所需的行为?
r - 运行 testthat 测试构建和重新加载
有没有办法testthat
在 RStudio 中运行构建和重新加载测试?是否可以只运行一部分测试?
我发现自己在编写测试、进行更改、构建+重新加载,然后手动运行测试。
r - R-expect_equal。仅打印超出公差的案例
我正在使用 R 函数 expect_equal 来测试两个大向量是否相等(几乎)达到一定的容差。我想知道是否有办法只打印 expect_equal 打破公差的情况。
例如
这将打印错误:
第2个:
即使案例 1“通过”了我的测试。是否可以只打印超出公差级别的案例?如果我可以存储并参考失败的案例,这样我可以更快地排除错误,那就更好了。
r - 运行 R CMD 检查时未找到 R 包测试
我正在使用该testthat
包为我的 R 包编写测试。我已按照http://r-pkgs.had.co.nz/tests.html上的说明进行操作(我相信)。我用了
设置测试骨架。我在其中创建了一个测试文件,tests/testthat
文件名以test
. 当我devtools::test()
在 RStudio 中运行或 Ctrl+Shift+T 时,测试运行成功,但是当我运行R CMD check
或 Ctrl+Shift+E 时,testthat
找不到我的包。我得到错误
我确实通过R_LIBS_SITE
在我的.Renviron
文件中设置来修改我的库路径。我怀疑这在运行时没有被读取R CMD check
,但我认为它不应该有所作为。
当我devtools::check()
从 RStudio 控制台运行时,它成功完成(包括测试),但是在 RStudio 中运行检查失败。
我添加了一些调试来testthat.R
打印输出.libPaths()
和其他位:
可以看到在临时库中创建了包目录,但是包是空的。将其与testthat
.
我还尝试下载另一个使用testthat
(匿名器)的软件包,但遇到了同样的错误。
sessionInfo()
: