Run unit tests on git push and integration tests on pull request

旧街凉风 提交于 2020-06-16 02:53:26

问题


When building R packages, we use testthat to write tests. We have 2 files: a test file for the specific package (specific.R), and one that we use to make sure all packages continue to work together and the overall result is fine (overall.R). Both tests are currently run when we push to github or create a PR through Travis, which implicitly runs this line of code(R CMD check *tar.gz). check runs all the tests in the test folder, and thus both files are run.

Now, I'm a bit new to testing... but it seems that we have more or less recreated the difference b/w a unit test and an integration test.

Considering that the tests for overall.R do take a lot longer to run, we would like to restrict it so that they only run when we do a pull-request to the package (when we have introduced new functionality on a different dev branch) while the package-specific tests keep running every time we commit/push to the repo.

Is this possible in github or Travis?


回答1:


You could put your overall.R script into a different directory and then specify this folder as the new tests directory for pull-request hooks, but this will then only run your integration tests and not the unit tests. See R CMD check --help

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


来源:https://stackoverflow.com/questions/61597073/run-unit-tests-on-git-push-and-integration-tests-on-pull-request

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!