Тесты mystyfing не пройдены - PullRequest
0 голосов
/ 20 мая 2011

Мы используем NHIbernate, .net и sql server2005.Больше всего mystyfing заключается в том, что при использовании той же базы данных, тех же модульных тестов, у моих друзей нет никаких сообщений, и все их тесты проходят, тогда как с моей у меня появляются сообщения об ошибках:

ERROR [TestRunnerThread] ADOExceptionReporter [(null)]- The DELETE statement conflicted with the REFERENCE constraint "FK_Project_Client". The conflict occurred in database "TestDev", table "dbo.Project", column 'ClientID'. The statement has been terminated. 13:10:02,656 ERROR [TestRunnerThread] SessionImpl [(null)]- could not synchronize database state with session NHibernate.ADOException: could not delete: [Client#875][SQL: DELETE FROM Client WHERE ID = ?] ---> System.Data.SqlClient.SqlException: The DELETE statement conflicted with the REFERENCE constraint "FK_Project_Client". The conflict occurred in database "TestDev", table "dbo.Project", column 'ClientID'.

в System.Data.SqlClient.SqlConnection.OnError (исключение SqlException, логическое breakConnection)

в System.Data.SqlClient.SqlInternalConnection.OnError (Исключение SqlException, логическое breakConnection)

в System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning ()

в System.Data.SqlClient.TdsParser.Run (RunBehavior runBehavataReaderShellShld, SQL Server, SqlDell, SqlDeldBulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)

в System.Data.SqlClient.SqlCommand.FinishExecuteReader (SqlDataReader ds, RunBehavior runBehaviorStatSignercmdBehavior, RunBehavior runBehavior, Boolean returnStream, логический асинхронный)

в System.Data.SqlClient.SqlCommand.RunExecuteReader (CommandBehavior cmdBehavior, RunBehavior runBehavior, логический returnStream, метод String, метод DbAsyncResult 10 * * 1022)..SqlCommand.InternalExecuteNonQuery (результат DbAsyncResult, строковый метод methodName, логическое значение sendToPipe)

в System.Data.SqlClient.SqlCommand.ExecuteNonQuery ()

(в качестве идентификатора объекта NHibernate.Imp).

в NHibernate.Impl.NonBatchingBatcher.AddToBatch (ожидание IExpectation)

в NHibernate.Persister.Entity.AbstractEntityPersister.Delete (идентификатор объекта, версия объекта, Int32 j, объектный объект, SqlCommandInfoISessionImplementor session, Object []loadedState)

--- Конец трассировки стека внутренних исключений ---

в NHibernate.Persister.Entity.AbstractEntityPersister.Delete (Идентификатор объекта, Версия объекта, Int32j, Object obj, SqlCommandInfo sql, сеанс ISessionImplementor, Object []loadedState)

в NHibernate.Persister.Entity.AbstractEntityPersister.Delete (идентификатор объекта, версия объекта, объектный объект, сеанс ISessionImplementor)

в NHibernate.Impl.ScheduledDeletion.Execute ()

в NHibernate.Impl.SessionImpl.Execute (исполняемый файл IExecutable)

в NHibernate.Impl.SessionImpl.ExecuteAll (список IList)

в NHibernate.Impl.SessionImpl.Execute ()

Заявление прекращено.Как и выше, у меня возникают различные другие тесты с ошибками с сообщениями об ошибках

не удалось синхронизировать состояние базы данных с сеансом

Любая идея, почему у меня появляются сообщения об ошибках, кто-нибудь знает

1 Ответ

2 голосов
/ 20 мая 2011

Все ли тесты являются взаимоисключающими? То есть все они запускаются independently друг от друга. Возможно, один тест мешает другому тесту.

Если вы запускаете тест самостоятельно, у вас возникает такая же проблема?

Также вы запускаете тест на своей собственной базе данных разработчиков или это общая база данных разработчиков? Если он ваш, то data точно такой же, как ваши коллеги?

Я знаю, что это не совсем ответ, и у него много вопросов, но, надеюсь, один из этих вопросов приведет вас к решению.

...