There's little real documentation. There's some, but it's fragmented and mostly outdated.
There really is no substitute for reading how other people do it. When you've solved a kata, you can look at its tests. Also, there's a lot of comments ( mostly on how not to do it ) on existing kata. Read those as well.
Couple of basics: use Test.assertDeepEquals and Test.assertApproxEquals, and calculate expected values before actual values. ( Do not trust users not to modify their input. )
Needs random tests
Default for optional second argument should be specified in description instead of in test cases.
This comment is hidden because it contains spoiler information about the solution