在启动并运行 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 错误代码,字符串可能全路径) 在 System.IO.File.InternalCopy(字符串源文件名,字符串 destFileName,布尔覆盖) 在 C:\Project\Damovo.co.uk_NEW\src\Orchard.Specs\Util\PathExtensions.cs:line 51 中的 Orchard.Specs.Util.PathExtensions.FileCopy(Path sourcePath, Path targetPath, Path sourceFile) 在 C:\Project\Damovo.co.uk_NEW\src\Orchard.Specs\Util\PathExtensions.cs:line 22 中的 Orchard.Specs.Util.PathExtensions.c__DisplayClass1.b__0(路径文件) 在 Bleroy.FluentPath.PathCollection.ForEach(Action`1 动作) 在 C:\Project\Damovo.co.uk_NEW\src\Orchard.Specs\Util\PathExtensions.cs:line 20 中的 Orchard.Specs.Util.PathExtensions.DeepCopy(Path sourcePath, Path targetPath) 在 C:\Project\Damovo.co.uk_NEW\src\Orchard.Specs\Hosting\WebHost.cs:line 202 中的 Orchard.Specs.Hosting.WebHost.CopyExtension(String extensionFolder, String extensionName, ExtensionDeploymentOptions deploymentOptions) 在 C:\Project\Damovo.co.uk_NEW\src\Orchard.Specs\Bindings\WebAppHosting.cs:line 132 中的 Orchard.Specs.Bindings.WebAppHosting.GivenIHaveModule(String moduleName) 在 C:\Project\Damovo.co.uk_NEW\src\Orchard.Specs\Bindings\WebAppHosting.cs:line 161 中的 Orchard.Specs.Bindings.WebAppHosting.GivenIHaveACleanSiteWith(String virtualDirectory, Table table) 在 C:\Project\Damovo.co.uk_NEW\src\Orchard.Specs\Bindings\OrchardSiteFactory.cs:line 23 中的 Orchard.Specs.Bindings.OrchardSiteFactory.GivenIHaveInstalledOrchard(String virtualDirectory) 在 C:\Project\Damovo.co.uk_NEW\src\Orchard.Specs\Bindings\OrchardSiteFactory.cs:line 16 中的 Orchard.Specs.Bindings.OrchardSiteFactory.GivenIHaveInstalledOrchard() 在 TechTalk.SpecFlow.Bindings.MethodBinding.InvokeAction(对象 [] 参数,ITestTracer testTracer,时间跨度和持续时间) 在 TechTalk.SpecFlow.TestRunner.ExecuteStepMatch(BindingMatch 匹配,对象 [] 参数) 在 TechTalk.SpecFlow.TestRunner.ExecuteStep(StepArgs stepArgs) 在 TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() 在 c:\Project\Damovo.co.uk_NEW\src\Orchard.Specs\PermissionModel.feature:line 28 中的 Orchard.Specs.AdditionFeature.AnonymousUserCanSeeTheHomePageButNotTheDashboard()
我曾尝试以管理员身份执行测试,但是我了解 SpecFlow 的真正知识,所以我怀疑我遗漏了一些关键的东西。