Может быть не стоит тестировать то, что приложение должно крэшиться? Для юнит-тестов заведите ассерты, которые никогда не бросают исключений, а пишут, например, в специальный лог. Понимаю, что иногда баг очень сложно воспроизвести, и записи в логе недостаточно. Для таких случаев («сложного» интеграционного тестирования со случайными данными и тестеров, которые анализируют доп. информацию в дебажной версии) можно использовать реализацию ассерта, которая крэшит приложение, чтобы девелоперы потом могли по дампу выявить причину падения.