sinanozaydin / pide

A python library for petrophysical calculations.
https://pide.readthedocs.io/
GNU General Public License v3.0
5 stars 2 forks source link

Missing test suite #10

Closed santisoler closed 2 weeks ago

santisoler commented 3 months ago

[!NOTE] This issue was opened as part of the JOSS review process: https://github.com/openjournals/joss-reviews/issues/7021

The issue

One of the JOSS requirements in order to accept the article for publication is that the code repository includes a test suite that ensures that that the submitted software behaves as expected. Currently, pide doesn't include a test suite.

Possible solution

I would suggest the authors to include a test suite that ensures that each unit of code in the repository works as expected. Achieving a 100% test coverage can be challenging, so I would suggest at least to include tests for the critical functions and classes of pide. Specially the ones that could lead to hard to detect misbehaviours and erroneous results that could significantly impact any scientific result obtained using pide.

After a test suite is created, I would also suggest to include instructions in the documentation on how to run the tests, and optionally set up a system to automatically run the tests (as suggested by JOSS), like GitHub Actions.

In order to create a test suite, I would recommend taking a look at pytest documentation and the Test page of the Scientific Python Developer Guide.

sinanozaydin commented 1 month ago

Thank you for the reccomendations. Test suits is now built on the post_joss branch of pide. We included test functions for the following parts of the library:

We will include how to run these tests in the documentation shortly.

santisoler commented 2 weeks ago

Thanks for adding a test suite. Looking forward to see the instructions on the documentation pages.


I would suggest to keep extending the test suite to make sure more pieces of the code are being tested.

Another recommendation I could give is to add instructions to get a coverage report that can be used to identify which lines of code are not being tested. This can be done using coverage or the pytest-cov plugin.

[!NOTE] These are recommendations and it won't block the publication of pide in JOSS.


I'm closing this issue.