catch and assert are two different things. 
If we assert, then it means the warning is intentional.  (assert includes catch)
If we catch, then we just silence test noise, but it's not a bug if it doesn't raise a warning (on some machines, or different scipy versions.)