2017-07-19 42 views
0

我想使用testthat进行集成测试,安装在Jupyter笔记本电脑环境中的R软件包中。实际上,这意味着我不想在安装软件包时运行测试,而是在系统运行时手动运行。如何在R中运行单个testthat测试?

我认为这意味着我不应该把测试放到tests/testthat目录,而是R目录。

所以,我仍然想要所有expect_函数,但是如何运行测试?我不确定我是否可以指定文件或目录,因为它将在安装软件包之后,我不知道当前的工作目录或安装目录是什么。

+0

我可能误解了,但安装软件包时测试不运行。 – SymbolixAU

+0

谢谢。你是否建议我把东西放在测试中,并使用test_package工具?它感觉有点奇怪。集成测试不像单元测试。单元测试不需要设置组件,但集成测试需要(实际上是测试)数据库连接等。 – dfrankow

回答

0

testthat包。 。 。

如果你在包中使用testthat,你应该把你的测试放在 tests/testthat中。每个测试文件应从测试开始,以.R或 .r结尾。为确保R CMD检查运行您的测试,请将以下代码放入 tests/testthat.R:

library(testthat); 库(yourpackage)

test_check( “yourpackage”)

这听起来像你应该遵循所有的设置,但离开testthat.R文件出来的目录。您可以从控制台或脚本运行test_check("yourpackage")

+0

我认为可能是'tests'中的代码没有与该软件包一起安装。所以,我认为这是行不通的。 :/ – dfrankow

+0

我见过的大部分软件包都有一个'tests'目录。这似乎是要加载到CRAN上的要求。但是,如果没有'tests'目录,'testthat'没有什么可做的,并且会返回类似于“没有找到测试”的东西 – Kevin

+0

我构建了包含测试目录和test_x.R的包,然后安装它我加载了软件包,并要求它运行软件包测试,但没有。我得出结论,随着图书馆的安装,它将剥离测试。但是,也许我错了,我错过了其他设置。我会看。如果你可以尝试一下,那会有帮助。 – dfrankow

相关问题