The expected "attribute" is correct data being returned.
> Hell, you can likely not even bother testing the so-called "happy path" because, really, who cares what happens during success?
wat?
> If it's a REST endpoint that aggregates data from multiple external services, you probably want to see a "retry after" response sent to the client if any of those external services are temporarily unavailable. So write a test that asserts that, then write code that does it.
So again you want me to write a meaningless test that will be duplicated anyway during the actual proper test. See https://news.ycombinator.com/item?id=34765360
> However, in reality most people simply don't have the wherewithal to plan for things like being able to test unavailable remote services if they don't have a test case in front of them forcing them
This is a weird statement that is definitely not backed up by reality.
> there is something to be said about the TDD approach as a general rule, deviating only after you fully understand the tradeoffs.
The problem is, everyone advocates writing multiple useless tests, including TDD proponents. You can't learn "tradeoffs" until you look past the dogma. Once you've looked past the dogma these "tradeoffs" most of them are not tradeoffs, but trivial things that you would do anyway.