Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test: modularize R tests with helper functions and fixtures #651

Merged
merged 1 commit into from
Jul 26, 2024

Conversation

Bai-Li-NOAA
Copy link
Contributor

What is the feature?

  • This PR addresses issue Make the R tests more modular #606 by making the R tests more modular and removing redundant code from the existing "estimation test of fims." The modifications reduce the integration tests from ~900 lines of code to ~300 lines.

How have you implemented the solution?

  • Added test data to the tests/testthat/fixtures folder and used this test data across multiple tests (e.g., tests/testthat/test-integration-fims-estimation.R and tests/testthat/test-parallel-with-snowfall.R)
  • Created two helper functions in tests/testthat/helper-integration-tests-setup.R to set up the FIMS model and validate FIMS results using simulated test data

Does the PR impact any other area of the project, maybe another repo?

  • No. It only affects R tests. Developers can refer to the documentation in tests/testthat/helper-integration-tests-setup.R and the examples in tests/testthat/test-integration-fims-estimation.R to set up additional integration tests.

@Bai-Li-NOAA Bai-Li-NOAA linked an issue Jul 24, 2024 that may be closed by this pull request
Copy link
Contributor

github-actions bot commented Jul 24, 2024

Instructions for code reviewer

Hello reviewer, thanks for taking the time to review this PR!

  • Please use this checklist during your review, checking off items that you have verified are complete!
  • For PRs that don't make changes to code (e.g., changes to README.md or Github actions workflows), feel free to skip over items on the checklist that are not relevant. Remember it is still important to do a thorough review.
  • Then, comment on the pull request with your review indicating where you have questions or changes need to be made before merging.
  • Remember to review every line of code you’ve been asked to review, look at the context, make sure you’re improving code health, and compliment developers on good things that they do.
  • PR reviews are a great way to learn, so feel free to share your tips and tricks. However, for optional changes (i.e., not required for merging), please include nit: (for nitpicking) before making the suggestion. For example, nit: I prefer using a data.frame() instead of a matrix because...
  • Engage with the developer when they respond to comments and check off additional boxes as they become complete so the PR can be merged in when all the tasks are fulfilled. Make it clear when this has been reached by commenting on the PR with something like This PR is now ready to be merged, no changes needed.

Checklist

  • The PR is requested to be merged into the appropriate branch (typically main)
  • The code is well-designed.
  • The functionality is good for the users of the code.
  • Any User Interface changes are sensible and look good.
  • The code isn’t more complex than it needs to be.
  • Code coverage remains high, indicating the new code is tested.
  • The developer used clear names for everything.
  • Comments are clear and useful, and mostly explain why instead of what.
  • Code is appropriately documented (doxygen and roxygen).

Copy link

codecov bot commented Jul 24, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 78.78%. Comparing base (39d0743) to head (fbcd878).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #651      +/-   ##
==========================================
- Coverage   78.88%   78.78%   -0.11%     
==========================================
  Files          36       36              
  Lines        1975     1975              
  Branches      141      141              
==========================================
- Hits         1558     1556       -2     
- Misses        374      376       +2     
  Partials       43       43              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link
Contributor

@iantaylor-NOAA iantaylor-NOAA left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good @Bai-Li-NOAA.
Nice to see so much redundant code getting reduced and documentation improved.

@Bai-Li-NOAA Bai-Li-NOAA force-pushed the test-make-r-tests-more-modular branch from 4b38fdd to fbcd878 Compare July 26, 2024 17:28
@Bai-Li-NOAA Bai-Li-NOAA merged commit 081972c into main Jul 26, 2024
14 checks passed
@Bai-Li-NOAA Bai-Li-NOAA deleted the test-make-r-tests-more-modular branch July 26, 2024 17:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Make the R tests more modular
2 participants