NUnit provides a Timeout attribute.
[Test, Timeout(2000)] public void PotentiallyLongRunningTest() { /* ... */ }