I am a fan of functional tests with multiple soft asserts, as long as each test case describes a narrow functional requirement and the asserts only explore variations and co