- Хранить PHP-код в базе не страшно. Но: 1. исполнять код из БД медленнее чем из файла (нужен как минимум коннект к БД + не очень быстрый eval, как максимум - еще и чтение таблицы с данными с диска), 2. редактировать код из БД обычно менее удобно, чем из файла (будь-то FTP-доступ или SSH), то же самое на счет отладки.
- Eval можете использовать, он для того и сделан, чтобы его использовали тогда, когда надо.
- Если хранить обработчики в файлах или даже добавить к ним и сами тесты никакого файлового ужаса не будет. Просто продумайте структуру заранее. Если вас пугает наличие 10000 файлов в одном каталоге - можно предусмотреть разбивку на подкаталоги, в каждом из которых будет например по 100 тестов. В конце концов как хранят фотки фотохостинги и видео - видеохостинги, не в БД же?!
- Про DSL идея хорошая. Помимо всего остального это поможет снять запрет на редактирование обработчиков тестов только разработчиком сайта.