Исключение при запуске теста c Linq из NUnit-GUI
От: MozgC США http://nightcoder.livejournal.com
Дата: 28.08.10 01:33
Оценка:
Добавил себе в проект один тест, где используется Linq-провайдер из BLT, если запускать из студии, то все ок, если же запускать из NUnit-GUI, то валится на первом же методе входящем в BLToolkit.Data.Linq:

_db.GetTable<PriceExcessGridRow>().Delete(r => r.CustomerID == customers[0].ID);

Другие тесты где используется BLT, но не используется BLToolkit.Data.Linq, проходят без проблем.

Стек трейс:

at BLToolkit.Data.Linq.Expressions.get_Members()
at BLToolkit.Data.Sql.SqlProvider.BasicSqlProvider.ConvertMember(MemberInfo mi) in C:\VCProjects\BLToolkit\Source\Data\Sql\SqlProvider\BasicSqlProvider.cs:line 2751
at BLToolkit.Data.Linq.ExpressionParser`1.ConvertMember(MemberInfo mi) in C:\VCProjects\BLToolkit\Source\Data\Linq\ExpressionParser.QueryBuilder.cs:line 3330
at BLToolkit.Data.Linq.ExpressionParser`1.<>c__DisplayClass1a7.<CheckSubQueryForWhere>b__1a6(Expression pi) in C:\VCProjects\BLToolkit\Source\Data\Linq\ExpressionParser.Parsing.cs:line 1257
at BLToolkit.Data.Linq.ExpressionHelper.Find(Expression expr, Func`2 func) in C:\VCProjects\BLToolkit\Source\Data\Linq\ExpressionHelper.cs:line 1135
at BLToolkit.Data.Linq.ExpressionHelper.Find(Expression expr, Func`2 func) in C:\VCProjects\BLToolkit\Source\Data\Linq\ExpressionHelper.cs:line 1167
at BLToolkit.Data.Linq.ExpressionParser`1.CheckSubQueryForWhere(LambdaInfo lambda, QuerySource query, Boolean& makeHaving) in C:\VCProjects\BLToolkit\Source\Data\Linq\ExpressionParser.Parsing.cs:line 1241
at BLToolkit.Data.Linq.ExpressionParser`1.ParseWhere(LambdaInfo l, QuerySource select) in C:\VCProjects\BLToolkit\Source\Data\Linq\ExpressionParser.Parsing.cs:line 1220
at BLToolkit.Data.Linq.ExpressionParser`1.ParseDelete(LambdaInfo lambda, QuerySource select) in C:\VCProjects\BLToolkit\Source\Data\Linq\ExpressionParser.Parsing.cs:line 1954
at BLToolkit.Data.Linq.ExpressionParser`1.<>c__DisplayClass17a.<>c__DisplayClass17e.<ParseSequenceInternal>b__104(Expression seq, LambdaInfo l) in C:\VCProjects\BLToolkit\Source\Data\Linq\ExpressionParser.Parsing.cs:line 438
at BLToolkit.Data.Linq.ExpressionHelper.<>c__DisplayClass8.<IsQueryableMethod>b__5(LambdaInfo p) in C:\VCProjects\BLToolkit\Source\Data\Linq\ExpressionHelper.cs:line 127
at BLToolkit.Data.Linq.ExpressionHelper.<>c__DisplayClass57.<CheckIfLambda>b__54(Expression body) in C:\VCProjects\BLToolkit\Source\Data\Linq\ExpressionHelper.cs:line 376
at BLToolkit.Data.Linq.ExpressionHelper.IsLambda(Expression expr, Func`2[] parameters, Func`2 body, Func`2 func) in C:\VCProjects\BLToolkit\Source\Data\Linq\ExpressionHelper.cs:line 329
at BLToolkit.Data.Linq.ExpressionHelper.CheckIfLambda(Expression expr, Int32 nparms, Func`2 lambda) in C:\VCProjects\BLToolkit\Source\Data\Linq\ExpressionHelper.cs:line 373
at BLToolkit.Data.Linq.ExpressionHelper.<>c__DisplayClass8.<IsQueryableMethod>b__4(Expression l) in C:\VCProjects\BLToolkit\Source\Data\Linq\ExpressionHelper.cs:line 127
at BLToolkit.Data.Linq.ExpressionHelper.IsMethod(MethodCallExpression expr, Type declaringType, String methodName, Func`2[] args, Func`2 func) in C:\VCProjects\BLToolkit\Source\Data\Linq\ExpressionHelper.cs:line 91
at BLToolkit.Data.Linq.ExpressionHelper.IsQueryableMethod(MethodCallExpression pi, Func`3 lambda) in C:\VCProjects\BLToolkit\Source\Data\Linq\ExpressionHelper.cs:line 124
at BLToolkit.Data.Linq.ExpressionParser`1.<>c__DisplayClass17a.<ParseSequenceInternal>b__103(MethodCallExpression pi) in C:\VCProjects\BLToolkit\Source\Data\Linq\ExpressionParser.Parsing.cs:line 415
at BLToolkit.Data.Linq.ExpressionHelper.Match[T](T expr, Func`2[] matches) in C:\VCProjects\BLToolkit\Source\Data\Linq\ExpressionHelper.cs:line 388
at BLToolkit.Data.Linq.ExpressionParser`1.ParseSequenceInternal(Expression info) in C:\VCProjects\BLToolkit\Source\Data\Linq\ExpressionParser.Parsing.cs:line 374
at BLToolkit.Data.Linq.ExpressionParser`1.ParseSequence(Expression info) in C:\VCProjects\BLToolkit\Source\Data\Linq\ExpressionParser.Parsing.cs:line 245
at BLToolkit.Data.Linq.ExpressionParser`1.<Parse>b__e6(Expression pi) in C:\VCProjects\BLToolkit\Source\Data\Linq\ExpressionParser.Parsing.cs:line 110
at BLToolkit.Data.Linq.ExpressionHelper.Match[T](T expr, Func`2[] matches) in C:\VCProjects\BLToolkit\Source\Data\Linq\ExpressionHelper.cs:line 388
at BLToolkit.Data.Linq.ExpressionParser`1.Parse(String contextID, MappingSchema mappingSchema, Func`1 createSqlProvider, Expression expression, ParameterExpression[] parameters) in C:\VCProjects\BLToolkit\Source\Data\Linq\ExpressionParser.Parsing.cs:line 85
at BLToolkit.Data.Linq.ExpressionInfo`1.GetExpressionInfo(IDataContextInfo dataContextInfo, Expression expr) in C:\VCProjects\BLToolkit\Source\Data\Linq\ExpressionInfo.cs:line 58
at BLToolkit.Data.Linq.Table`1.GetExpressionInfo(Expression expression, Boolean cache) in C:\VCProjects\BLToolkit\Source\Data\Linq\TableT.cs:line 106
at BLToolkit.Data.Linq.Table`1.System.Linq.IQueryProvider.Execute[TResult](Expression expression) in C:\VCProjects\BLToolkit\Source\Data\Linq\TableT.cs:line 179
at BLToolkit.Data.Linq.Extensions.Delete[T](IQueryable`1 source, Expression`1 predicate) in C:\VCProjects\BLToolkit\Source\Data\Linq\Extensions.cs:line 99
at RA.Tests.PriceExcessGridsAccessorTests.GetCustomerPriceExcessGridRows() in C:\VCProjects\Alex\RA\RA.Tests\PriceExcessGridsAccessorTests.cs:line 18
--InvalidProgramException
at BLToolkit.Data.Linq.Expressions.L[T1,T2,T3,T4,T5,T6,TR](Expression`1 func)
at BLToolkit.Data.Linq.Expressions..cctor() in C:\VCProjects\BLToolkit\Source\Data\Linq\Expressions.cs:line 110

ревизия последняя.
Re: Исключение при запуске теста c Linq из NUnit-GUI
От: IT Россия linq2db.com
Дата: 29.08.10 19:53
Оценка:
Здравствуйте, MozgC, Вы писали:

MC>Стек трейс:


А текст ошибки какой?
Если нам не помогут, то мы тоже никого не пощадим.
Re[2]: Исключение при запуске теста c Linq из NUnit-GUI
От: MozgC США http://nightcoder.livejournal.com
Дата: 29.08.10 20:16
Оценка:
Здравствуйте, IT, Вы писали:

IT>А текст ошибки какой?


Сорри, забыл текст вставить:

RA.Tests.PriceExcessGridsAccessorTests.GetCustomerPriceExcessGridRows:
System.TypeInitializationException : The type initializer for 'BLToolkit.Data.Linq.Expressions' threw an exception.
----> System.InvalidProgramException : Common Language Runtime detected an invalid program.

Re[2]: Исключение при запуске теста c Linq из NUnit-GUI
От: MozgC США http://nightcoder.livejournal.com
Дата: 12.09.10 23:53
Оценка:
Игорь, есть ли какие-то мысли о причинах ошибки?
Re[3]: Исключение при запуске теста c Linq из NUnit-GUI
От: IT Россия linq2db.com
Дата: 13.09.10 04:02
Оценка:
Здравствуйте, MozgC, Вы писали:

MC>Игорь, есть ли какие-то мысли о причинах ошибки?


Если нам не помогут, то мы тоже никого не пощадим.
Re[4]: Исключение при запуске теста c Linq из NUnit-GUI
От: MozgC США http://nightcoder.livejournal.com
Дата: 24.03.11 20:15
Оценка:
Здравствуйте, IT, Вы писали:

MC>>Игорь, есть ли какие-то мысли о причинах ошибки?

IT>

В общем дело было в TypeMock Isolator, я запускал NUnit через TMockRunner, входящий в TypeMock Isolator, чтобы тесты использующие TypeMock работали при запуске из NUnit GUI.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.