@laracasts First. The second only explains a function is tested, not what is tested. It() in many ways forces you to describe it a bit more which is a nice side effect!
@jeffrey_way 0 to 4 depending on the project should be fairly easy. However using a baseline for the higher levels is key to not the overwhelmed with fixing errors.
If you can then start using level 6 for future code you're at a very good place!
@davorminchorov I love going with the WET principle (write everything twice). That way it's easier to see potential abstraction/refactors, rather than imagine a case where this could be reused.
@SabatinoMasala And how about creating? Like if you rely on some data from a 3rd party API (which is slower and is more likely to hit a race condition).
I've solved it by using the Atomic lock directly, but I wish I could use some eloquent-ish behavior like this example π
@VotrubaT@rectorphp To me it's all about context. As with most things. TDD might not make sense in some context, but for smaller iterations where you want to test every case one by one it's super effective!