У меня действительно странная ситуация с использованием среды модульного тестирования Visual Studio. Тест, оформленный как [TestMethod, ExpectedException(typeof(InvalidOperationException))] проваливается с System.InvalidOperationException.
Если я удалю весь код из теста (чтобы убедиться, что он вообще ничего не выдает) — он пройдет. Как будто ExpectedException вообще нет...
Если я запускаю пустой проект с фиктивным тестом, который ничего не делает, кроме выдачи InvalidOperationException, он полностью работает так, как ожидалось.
Проверено, что ни ExpectedExceptionAttribute, ни InvalidOperationException не переопределяются. Не знаю, что еще здесь попробовать...
РЕДАКТИРОВАНИЕ: Проблема решена путем удаления ссылки на Microsoft.VisualStudio.QualityTools.UnitTestFramework v10.1 и добавления версии 10.0.
Не знаю, почему это имеет значение или почему другие атрибуты работают нормально.
Подробнее здесь: https://stackoverflow.com/questions/159 ... ot-working