SpecFlow测试失败,并出现“访问被拒绝的异常”

| 在Orchard CMS启动并运行然后签入我们的Subversion存储库后,我一直在研究现有的测试范围,尤其是SpecFlow测试。 当我尝试从CodeRush测试运行程序或NUnit GUI(v2.5.10)运行测试时,在67个测试中遇到了异常: Orchard.Specs.AdditionFeature.AnonymousUserCanSeeTheHomePageButNotTheDashboard: System.UnauthorizedAccessException:访问路径 \'C:\\ Users \\ richard.slater \\ AppData \\ Local \\ Temp \\ Orchard.Specs \\ 5dchvodt.b1i \\ Modules \\ Orchard.Packaging \\ Views \\。svn \\ all-wcprops \'被拒绝。 在System.IO .__ Error.WinIOError(Int32 errorCode,可能是StringFullPath) 在System.IO.File.InternalCopy处(字符串sourceFileName,字符串destFileName,布尔覆盖) 在Orchard.Specs.Util.PathExtensions.FileCopy(C:\\ Project \\ Damovo.co.uk_NEW \\ src \\ Orchard.Specs \\ Util \\ PathExtensions.cs中的Path SourcePath,Path targetPath,Path sourceFile)中:第51行 在Orchard.Specs.Util.PathExtensions.c__DisplayClass1.b__0(路径文件)位于C:\\ Project \\ Damovo.co.uk_NEW \\ src \\ Orchard.Specs \\ Util \\ PathExtensions.cs:第22行 在Bleroy.FluentPath.PathCollection.ForEach(动作1动作) 在Orchard.Specs.Util.PathExtensions.DeepCopy(Path sourcePath,Path targetPath)在C:\\ Project \\ Damovo.co.uk_NEW \\ src \\ Orchard.Specs \\ Util \\ PathExtensions.cs:line 20中 在Orchard.Specs.Hosting.WebHost.CopyExtension(String extensionFolder,String extensionName,ExtensionDeploymentOptions deploymentOptions)在C:\\ Project \\ Damovo.co.uk_NEW \\ src \\ Orchard.Specs \\ Hosting \\ WebHost.cs中: 202行 在Orchard.Specs.Bindings.WebAppHosting.GivenIHaveModule(String moduleName)在C:\\ Project \\ Damovo.co.uk_NEW \\ src \\ Orchard.Specs \\ Bindings \\ WebAppHosting.cs:line 132中 在Orchard.Specs.Bindings.WebAppHosting.GivenIHaveACleanSiteWith(String virtualDirectory,Table table)在C:\\ Project \\ Damovo.co.uk_NEW \\ src \\ Orchard.Specs \\ Bindings \\ WebAppHosting.cs:line 161 在Orchard.Specs.Bindings.OrchardSiteFactory.GivenIHaveInstalledOrchard(String virtualDirectory)在C:\\ Project \\ Damovo.co.uk_NEW \\ src \\ Orchard.Specs \\ Bindings \\ OrchardSiteFactory.cs:line 23 在C:\\ Project \\ Damovo.co.uk_NEW \\ src \\ Orchard.Specs \\ Bindings \\ OrchardSiteFactory.cs:line 16的Orchard.Specs.Bindings.OrchardSiteFactory.GivenIHaveInstalledOrchard()中 在TechTalk.SpecFlow.Bindings.MethodBinding.InvokeAction(Object []参数,ITestTracer testTracer,TimeSpan&持续时间)上 在TechTalk.SpecFlow.TestRunner.ExecuteStepMatch(BindingMatch匹配,Object []参数) 在TechTalk.SpecFlow.TestRunner.ExecuteStep(StepArgs stepArgs) 在TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() 在Orchard.Specs.AdditionFeature.AnonymousUserCanSeeTheHomePageButNotTheDashboard()中位于c:\\ Project \\ Damovo.co.uk_NEW \\ src \\ Orchard.Specs \\ PermissionModel.feature:line 28 我尝试以管理员身份执行测试,但是我知道SpecFlow的真实知识,因此我怀疑我缺少一些关键的信息。     
已邀请:
看起来它正在尝试访问隐藏的Subversion文件夹(.svn),但根本无法访问它们。可能的原因是: 您当前正在使用的用户权限没有足够的访问权限(已读取)。尝试在顶级存储库文件夹“属性”屏幕的“安全性”选项卡上为当前登录的用户设置这些设置-更改应传播到所有较低的文件夹。 在后台运行一个Subversion客户端(例如TortoiseSVN),该客户端已打开这些文件以进行读取/写入。这更有可能。尝试将其关闭(如果没有关闭它的选择,请杀死SVN客户端进程),然后看看会发生什么。 使用内部.svn文件可能会很危险,并且会损坏已检出的存储库文件夹。我不知道SpecFlow是否在流程中修改了这些文件-如果没有,那很好 还有一种解决方案,可以将存储库文件(通过TortoiseSVN导出选项)导出到单独的文件夹(不会复制与SVN相关的内容),在副本上进行所有工作,以及每次您要提交时-复制更改的文件回到SVN绑定文件夹。     

要回复问题请先登录注册