在git push上运行单元测试,在pull请求上运行集成测试

时间:2020-05-04 16:31:52

标签: r unit-testing github integration-testing travis-ci

在构建R包时,我们使用testthat编写测试。我们有2个文件:一个用于特定程序包( specific.R )的测试文件,另一个用于确保所有程序包继续协同工作且整体效果良好(总体.R )。当我们推送到github或通过Travis创建PR时,这两个测试当前都在运行,它们隐式地运行此行代码(R CMD check *tar.gz)。 check运行test文件夹中的所有测试,因此两个文件都运行。

现在,我对测试有点陌生...但是似乎我们或多或少地重新创建了b / wa 单元测试集成测试

考虑到overall.R的测试确实需要花费更长的时间才能运行,因此我们希望对其进行限制,以使其仅在对包进行拉取请求时才运行(当我们在上引入了新功能时)一个不同的dev分支),而每次我们提交/推送到仓库时,特定于包的测试都会继续运行。

在github或Travis中有可能吗?

1 个答案:

答案 0 :(得分:1)

您可以将您的total.R脚本放置在另一个目录中,然后将该文件夹指定为用于请求请求挂钩的新测试目录,但这将仅运行集成测试,而不运行单元测试。请参阅R CMD检查--help

R CMD check --test-dir integration_tests package.tar.gz