странное дело,
в тесте апдатируется запись, при этом сам апдейт фейлится на неправильном для рекстриктед-лист значении, но тест не выпадает в исключение, и вообще проходит как Passed. Никаких Try-Catch там нет.
при этом до того как запись фейлится, она заходит в тригер, где выполняет, то что нужно для теста. Т.е. покрытие ок (ниже этого по коду нет ассертации результатов). Т.е. для меня все норм.
а как же я узнал о проблеме? глянул в логи по другому поводу, а там выпавшие ДМЛ тихо пишутся как дебаг логи. так и нашел.
еще мне сегодня показалось, что дебаги, вписанные в сам тест, не видны в логе... вроде раньше это было...
Насколько я помню дебаги всегда были видны и из теста и из кода. Я часто люблю практиковать TDD и обильно все заправлять выводом в логи. Никогда не замечал проблем с этим.
Странное поведение ты описал. Мне все-таки кажется где-то на каком-то уровне абстракции у тебя есть try/catch, просто ты про него забыл. Чет я сомневаюсь что такое бывает - эксеншен есть, а тест passed.
Попробуй сделать чистый эксперимент. Сделать отдельный тест с 1 строчкой кода
insert new TwojObject__c(Field__c = 'неправильное значение');
И тогда скажи нам валится он или passed.
Случайно не Database.update(...) используется?
кстати если там стоит флажок allOrNone то может быть.