You already know a test with no assertion proves nothing. At this level the problem is different. Your test has assertions, they pass, and the app is still broken.
Here are the three weak checks that get through code review every day.
Weak check 1: you check something exists, not what it says.