MVC3, Различия между тестовой средой и приложением dev? - PullRequest
1 голос
/ 09 марта 2012

Я использую временную базу данных для своих модульных тестов, которые создаются и удаляются с каждым тестом, но были очень осторожны, чтобы гарантировать, что они используют ту же настройку, что и моя «настоящая» база данных (enlist = false; множественные активныеresultsets = true; и т. Д.)но постоянно сталкивался с проблемами эскалации MSDTC, где бы ни использовался TransactionScope.

После переключения TransactionScope для транзакции я решил проблему эскалации MSDTC и сразу столкнулся с новой проблемой - транзакция работает отлично, когда я использую приложениев веб-браузере, но он не проходит модульное тестирование со следующей ошибкой:

SqlConnection не поддерживает параллельные транзакции.

Без отправки тонны кода есть кто-то ещестолкнуться с аналогичными проблемами, когда тестовая среда и среда разработки работают по-разному?Есть ли какая-либо общая причина, по которой параллельная транзакция будет работать в dev, а не в режиме модульного тестирования?

Если я не могу точно смоделировать то, что происходит с моими тестами, тогда какой смысл вообще тестировать?

1 Ответ

1 голос
/ 21 марта 2012

Одна большая разница, которую я не смог учесть, заключалась в том, что я мог использовать RenderAction в представлении и, следовательно, вызывать больше действий контроллера, чем тест, что может объяснить проблему MSDTC/Transaction.

...