我有一套单元测试,如果我一起运行(使用 resharper)我会收到这个错误:
SetUp:System.TypeInitializationException:“FakeItEasy.Core.FakeScope”的类型初始化程序引发了异常。----> System.IO.FileLoadException:API 限制:程序集 'file:///C:\Users\abrown\Documents\Repos\ink.services.jetstar\My.Namespace.Tests.Unit\bin\Debug \My.Namespace.dll' 已从其他位置加载。它不能从同一 appdomain 中的新位置加载。
如果我单独运行它们,它们就会通过。
在异常的下方,它在这样的行上失败了:
[SetUp]
public void SetUp()
{
_myFake = A.Fake<ISomething>();
编辑
如果我使用“标准”NUnit Test Runner,也会发生这种情况。
正如@david-arno 在评论中所说,通过更改 ReSharper 运行器中的设置,可以修复它(显然仅用于重新锐化)
为了完整起见,这是一个完整的堆栈跟踪
My.CompanyNamespace.ProjectName.Tests.Unit.DownloadAndStoreContentTests.gets_content_downloader_for_each_section_in_index:SetUp:System.TypeInitializationException:“FakeItEasy.Core.FakeScope”的类型初始化程序引发异常。----> System.IO.FileLoadException:API 限制:程序集 'file:///C:\Users\abrown\Documents\Repos\My.CompanyNamespace\My.CompanyNamespace.ProjectName.Tests.Unit\bin\Debug \My.CompanyNamespace.ProjectName.dll' 已从其他位置加载。它不能从同一 appdomain 中的新位置加载。
在 FakeItEasy.Core.FakeScope.get_Current() 在 FakeItEasy.IoC.DictionaryContainer.<>c_DisplayClass1 1.b
1.<Register>b__0(DictionaryContainer c) at FakeItEasy.IoC.DictionaryContainer.Resolve(Type componentType) at FakeItEasy.ServiceLocator.Resolve[T]() at FakeItEasy.RootModule.<RegisterDependencies>b__3(DictionaryContainer c) at FakeItEasy.IoC.DictionaryContainer.<>c__DisplayClass1
_0 (DictionaryContainer c) 在 FakeItEasy.IoC.DictionaryContainer.Resolve(Type componentType) 在 FakeItEasy.ServiceLocator.ResolveT 在 FakeItEasy。 RootModule.b_ 1a(DictionaryContainer c) 在 FakeItEasy.IoC.DictionaryContainer.<>c _DisplayClass11.<Register>b__0(DictionaryContainer c) at FakeItEasy.IoC.DictionaryContainer.Resolve(Type componentType) at FakeItEasy.ServiceLocator.Resolve[T]() at FakeItEasy.RootModule.<RegisterDependencies>b__19(DictionaryContainer c) at FakeItEasy.IoC.DictionaryContainer.<>c__DisplayClass1
1.b__0(DictionaryContainer c) 在 FakeItEasy.IoC.DictionaryContainer.Resolve(Type componentType) 在 FakeItEasy.ServiceLocator.ResolveT 在 FakeItEasy.A.FakeT 在 My.CompanyNamespace.ProjectName.Tests.Unit.DownloadAndStoreContentTests.SetUp() 在 c: \Users\abrown\Documents\Repos\My.CompanyNamespace\My.CompanyNamespace.ProjectName.Tests.Unit\DownloadAndStoreContentTests.cs:line 23 --FileLoadException at System.Reflection.RuntimeAssembly。在 System.Reflection.RuntimeAssembly.InternalLoadAssemblyName (AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly stackCrawlMark & StackMarkAssembly, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean for Introspection, Boolean suppressSecurityChecks) IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean for Introspection, Boolean suppressSecurityChecks) at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark & stackMark, Boolean throwOnFileNotFound, Boolean for Introspection, Boolean suppressSecurityChecks.RuntimeAs) 在 System.RefleInternalLoadFrom(String assemblyFile, Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm, Boolean for Introspection, Boolean suppressSecurityChecks, StackCrawlMark & stackMark) at System.Reflection.Assembly.ReflectionOnlyLoadFrom(String assemblyFile) at FakeItEasy.Core.ApplicationDirectoryAssembliesTypeCatalogue.GetAllAvailableAssemblies() at FakeItEasy FakeItEasy.ImportsModule.b 上的 Core.ApplicationDirectoryAssembliesTypeCatalogue..ctor()GetAllAvailableAssemblies() 在 FakeItEasy.Core.ApplicationDirectoryAssembliesTypeCatalogue..ctor() 在 FakeItEasy.ImportsModule.bGetAllAvailableAssemblies() 在 FakeItEasy.Core.ApplicationDirectoryAssembliesTypeCatalogue..ctor() 在 FakeItEasy.ImportsModule.b_1(DictionaryContainer c) 在 FakeItEasy.IoC.DictionaryContainer.SingletonResolver1.UnresolvedState.Resolve(DictionaryContainer container) at FakeItEasy.IoC.DictionaryContainer.<>c__DisplayClass1
1.b_ 0(DictionaryContainer c) 在 FakeItEasy.IoC.DictionaryContainer.Resolve(Type componentType) 在 FakeItEasy.ServiceLocator.ResolveT 在 FakeItEasy.ImportsModule.b _0(DictionaryContainer c)在 FakeItEasy.IoC.DictionaryContainer.SingletonResolver1.UnresolvedState.Resolve(DictionaryContainer container) at FakeItEasy.IoC.DictionaryContainer.<>c__DisplayClass1
1.b_0 (DictionaryContainer c) 在 FakeItEasy.IoC.DictionaryContainer.Resolve(Type componentType) 在 FakeItEasy.ServiceLocator.ResolveT 在 FakeItEasy.ImportsModule.b _4[T](DictionaryContainer c) 在 FakeItEasy .IoC.DictionaryContainer.SingletonResolver1.UnresolvedState.Resolve(DictionaryContainer container) at FakeItEasy.IoC.DictionaryContainer.<>c__DisplayClass1
1.b__0(DictionaryContainer c) 在 FakeItEasy.IoC.DictionaryContainer.Resolve(Type componentType) 在 FakeItEasy.ServiceLocator.ResolveT 在 FakeItEasy.Core.FakeScope.RootScope..ctor() 在 FakeItEasy.Core.FakeScope..cctor()