我试图用NUnit和标准控制台(GUI或不是GUI)运行程序测试Windows Phone7.1类库。
System.TypeLoadException..
服务器堆栈跟踪:en system.modulehandle.resolvetype(Int32 typeToken,runtimeTypeHandle*typeInstArgs,Int32 typeInstCount,runtimeTypeHandle*methodInstArgs,Int32 methodInstCount,Int32 methodInstCount,Int32 methodInstCount)en system.moduleHandle.resolvetypeHandle(Int32 typeToken,runtimeTypeHandle[]typeInstantiationContext,Ataimport范围、Assembly和lastAptcaOkAssembly,Module decoatedModule,metadataToken decoatedToken,RuntimeType attributeFilterType,Boolean mustBeInheritable,Object[]属性,IList DeriveDataTributes,RuntimeMethodHandle和ctor,Boolean和ctorHasParameters,Boolean和isVarArg)ensystem.Reflection.customAttributes(ModuleimeType attributeFilterType,Boolean mustBeInheritable,IList DeriveDatAttributes)en System.Reflection.customAttributes(Assembly Assembly,RuntimeType caType)en System.Reflection.Assembly.GetCustomAttributes(Assembly Assembly,RuntimeType caType)en System.Reflection.Assembly.GetCustomAttributes(类型.builders.testAssemblyBuilder.build(String assemblyName,Boolean autoSuites)en nunit.core.builders.testAssemblyBuilder.build(String assemblyName,String testName,Boolean autoSuites)en nunit.core.testSuiteBuilder.build(String assemblyName,String testName,Boolean autoSuites)en nunit.core.testSuiteBuilder.buildtPackage package)en nunit.core.proxyTestRunner.load(TestPackage package)en nunit.core.remoteteStrunner.load(TestPackage package)en system.runtime.remoting.messaging.stackBuilderSink._privateProcessMessage(IntPtr md,Object[]args,Object server,Int32 methodPtr,Boolean fExecuteInContext,Object[]&outArgs)en SyncProcessMessage(IMessage msg,Int32 methodPtr,Boolean fExecuteInContext)
在[0]:ensystem.runtime.remoting.proxies.realproxy.handlereTurnMessage(IMessage reqMsg,IMessage retMsg)ensystem.runtime.remoting.proxies.realproxy.privateInvoke(messagedata&msgData,Int32类型)ennunit.core.testrunner.load(TestPackage包)ennunit.util.testdomain.load(TestPackage包)ennunit.util.testloader.loadTest(String
有人知道我找不到的问题是什么吗?
我已经发现(以一种非常容易解释的方式)问题是什么,解决方案是什么(或者更好地说替代方案)。
问题是NUnit控制台运行器(或GUI运行器)在不同的环境下执行。我指的是控制台应用程序
或WinForms应用程序
,然后它们试图加载Windows Phone
库,这就是问题所在。
解决方案是使用Re-Sharper、NCrunch、Visual NUnit或类似的东西执行测试,而不使用NUnit默认运行程序。
-)
问候并感谢所有阅读我问题的人。