| > For a library there is API and there are implementation details. What if test depended on implementation detail? If the test is in the API testset, it's API. If it isn't, it's an implementation detail. > What if tests had undisputable bug? If it's in the API testset, time for a major version bump. If not, fix it. > Test refactoring requires major release now? Only if you're refactoring the API, as defined by the API testset, thereby producing a breaking change. > Realistically test suite will have some execution paths not covered. Doesn't matter. If the behavior isn't in the API testset, it's not a part of the API. > But I disagree that it would automate semver. The point isn't to automate semver, I'm not even sure what that would mean. It's to define it, in a useful and objective way. |
I don't think your proposed scheme needs to be perfect in that regard, but acknowledging the concern and at least putting it in perspective would probably help.