You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Improve test coverage - currently 49.5% in bio-java core #944
Test coverage is little low - covering more code would enable
more confident refactoring. In a code-base with contributions over a long period of time there are cases where new language features can replace existing code in perhaps a more reliable way, but without tests it's sometimes hard to be sure
greater confidence in the existing functionality
self-documentation of methods
identifying obsolete or unused code which could perhaps be scheduled for removal or marked deprecated?
Like covid vaccination rates 100% is unachievable but 50% is a bit on the low side, especially for a library project.
Making sure all public methods are invoked in test code would be a start, and it could be incremental.
I'll attach a PR adding some tests for some utility methods which identified 1 bug to get the ball rolling...
For this, I just manually ran EclEmma which is an Eclipse plugin (I'm not sure if it's actually maintained any longer), but I expect most tools give similar information.
Thanks Jose, I can see Sonarqube results fine. I'm tackling some classes now in biojava-core o.b.n.core.sequence package (ChromosomeSequence, ExonSequence etc) as some of these aren't covered by tests.
I've come across quite a few issues with some of the classes that I would consider bugs, for example:
equals and hashcode throwing NullPointer exceptions as some of the properties used by equals() in AbstractSequence aren't set
calculation of intron sequences on negative strands returns unexpected results in GeneSequence
collections of subelements aren't encapsulated
What would you advise? I can raise a PR with the tests I've written, with those failing ones marked @disabled for discussion, or raise what I think are issues.
Activity
josemduarte commentedon Jul 26, 2021
Thanks @richarda23 . Totally agree, this has been an eternal pending issue for this project. More test coverage is badly needed.
One curiosity. How did you measure coverage?
I actually setup SonarCloud for biojava sometime ago (which does coverage too), but I'm not sure if that's accessible to everyone.
richarda23 commentedon Jul 30, 2021
For this, I just manually ran EclEmma which is an Eclipse plugin (I'm not sure if it's actually maintained any longer), but I expect most tools give similar information.
Merge pull request #951 from richarda23/crc64checksumtest
Merge pull request #957 from richarda23/core-utils-tests-part2
richarda23 commentedon Nov 17, 2021
Latest values are 75% class, 56% method, 58% line - so some improvement. Will try to add more tests to at least touch uncovered non-trivial classes
josemduarte commentedon Nov 17, 2021
That's great news. Thanks @richarda23 . FYI I did set up Sonarqube cloud in CI. But I think test coverage reporting is somehow not working.
Anyway if you are interested the Sonarqube reports are available here: https://sonarcloud.io/organizations/biojava/projects . Let me know if you can't access that and I'll see how to add accounts.
richarda23 commentedon Nov 19, 2021
Thanks Jose, I can see Sonarqube results fine. I'm tackling some classes now in biojava-core o.b.n.core.sequence package (ChromosomeSequence, ExonSequence etc) as some of these aren't covered by tests.
I've come across quite a few issues with some of the classes that I would consider bugs, for example:
What would you advise? I can raise a PR with the tests I've written, with those failing ones marked @disabled for discussion, or raise what I think are issues.
josemduarte commentedon Nov 19, 2021
That sounds like a good plan @richarda23 . Let's start a discussion based on a PR.
Merge pull request #998 from richarda23/#944-testcoverage
Merge pull request biojava#951 from richarda23/crc64checksumtest
Merge pull request biojava#957 from richarda23/core-utils-tests-part2
Merge pull request biojava#998 from richarda23/biojava#944-testcoverage