The default behaviour of testing in e.g Intellij is to re-run failed tests.
Its counter-intuitive to expect the student to modify the provided Test file to enable more tests.
It increases the complexity with no real benefit.
And even if you decide that it should stay like this (which I as a Student and a Mentor for others would disagree with) it should be applied to all practices to make it consistent.
My current procedure is: download exercise, remove all @Ignores and then start the exercise.
Especially the easier exercises are done fairly quickly, having to remove the @Ignore manually slows the student down (even if its by a little bit)
But TDD - coding against one failing test error at a time - is at the heart of exercism works and has been for a decade. While I agree it is counterintuitive if you’re not used to it, I think it’s incredibly valuable for students not being hit with dozens of test failures, and for learning to solve problems step by step.
Couple of line comments:
The default behaviour of testing in e.g Intellij is to re-run failed tests.
I’m not sure what this means btw in terms of how it applies here.
having to remove the @Ignore manually slows the student down (even if its by a little bit)
I see this a feature not a bug. We’re not trying to get a student to pass an exercise in full as quickly as possible. We’re trying to reenforce breaking larger problems down into smaller segments and then solving them piece by piece.
I will try to tackle both the consistency and the Docs.
If possible, keep this post open so I can post the PRs which would need to be reopened by one of you guys
Yep - looks great. Thanks for being so proactive. I’ve added a couple of comments.
Be aware that Concept Exercises don’t use Ignores because they’re actively task based. Kotlin doesn’t have a syllabus so this doesn’t largely matter, but it’s best not to touch those two exercises.
I’ll let the Kotlin maintainers and docs team take the reviewing/merging reins from here!
The general rule is to do one PR per exercise. Review and potential rollbck is easier that way.
However, if you need to do over 10 of them, you might want to group them into small batches of 3 or 4 at a go. I’d check with the Kotlin maintainers to see what they’d prefer in this scenario.