NUnit не работает с Windows7 для C ++ / CLI? - PullRequest
0 голосов
/ 26 мая 2010

Сбой NUnit в C ++ / CLI с исключением System.IO.FileNotFoundException.

Я попробовал свой недавно созданный проект, пример C ++ / CLI, включенный в NUnit, и пример из CodeProject Как использовать NUnit для тестирования собственного кода C ++ с использованием Visual Studio 2008sp1 с NUnit 2.5.5 а также 2.4.8. Я установил 2.4.8 только на C: \ на случай, если в путях с пробелами было что-то странное, например Program Files (x86).

У меня нет проблем с примером C # с использованием NUnit.

в NUnit GUI все эти проекты C ++ / CLI сталкиваются с одной и той же проблемой при попытке открыть проекты.

Я бы очень хотел использовать NUnit, но сейчас пришлось вернуться к стандартным тестам Microsoft

System.IO.FileNotFoundException...

Server stack trace: 
   at System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection)
   at System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
   at System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
   at System.Reflection.Assembly.Load(String assemblyString)
   at NUnit.Core.Builders.TestAssemblyBuilder.Load(String path)
   at NUnit.Core.Builders.TestAssemblyBuilder.Build(String assemblyName, Boolean autoSuites)
   at NUnit.Core.Builders.TestAssemblyBuilder.Build(String assemblyName, String testName, Boolean autoSuites)
   at NUnit.Core.TestSuiteBuilder.BuildSingleAssembly(TestPackage package)
   at NUnit.Core.TestSuiteBuilder.Build(TestPackage package)
   at NUnit.Core.SimpleTestRunner.Load(TestPackage package)
   at NUnit.Core.ProxyTestRunner.Load(TestPackage package)
   at NUnit.Core.ProxyTestRunner.Load(TestPackage package)
   at NUnit.Core.RemoteTestRunner.Load(TestPackage package)
   at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs)
   at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg, Int32 methodPtr, Boolean fExecuteInContext)

Exception rethrown at [0]: 
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   at NUnit.Core.TestRunner.Load(TestPackage package)
   at NUnit.Util.TestDomain.Load(TestPackage package)
   at NUnit.Util.TestLoader.LoadTest(String testName)

1 Ответ

1 голос
/ 11 октября 2010

У меня было что-то вроде той же проблемы, но через консоль NUnit. Оказалось, что консоль NUnit была JIT-компиляцией для x64, а не для x86, а моей сборкой C ++ / CLI была x86. Для работы они должны быть одинаковыми, поэтому я использовал консольную версию для x86. Смотри http://www.nunit.org/index.php?p=nunit-console&r=2.4.8.

Надеюсь, это поможет,

Мэтт

...