2011-05-24 107 views
2

在啓動並運行了Orchard CMS之後,簽入了Subversion存儲庫後,我一直在查看現有的測試覆蓋範圍,特別是SpecFlow測試。SpecFlow測試失敗,拒絕訪問拒絕異常

當我嘗試並運行的CodeRush測試跑步或NUnit的GUI(v2.5.10)我上測試的67例外測試:

 
Orchard.Specs.AdditionFeature.AnonymousUserCanSeeTheHomePageButNotTheDashboard: 
System.UnauthorizedAccessException : Access to the path 
'C:\Users\richard.slater\AppData\Local\Temp\Orchard.Specs\5dchvodt.b1i\Modules\ 
Orchard.Packaging\Views\.svn\all-wcprops' is denied. 
 
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) 
at System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite) 
at Orchard.Specs.Util.PathExtensions.FileCopy(Path sourcePath, Path targetPath, Path sourceFile) in C:\Project\Damovo.co.uk_NEW\src\Orchard.Specs\Util\PathExtensions.cs:line 51 
at Orchard.Specs.Util.PathExtensions.c__DisplayClass1.b__0(Path file) in C:\Project\Damovo.co.uk_NEW\src\Orchard.Specs\Util\PathExtensions.cs:line 22 
at Bleroy.FluentPath.PathCollection.ForEach(Action`1 action) 
at Orchard.Specs.Util.PathExtensions.DeepCopy(Path sourcePath, Path targetPath) in C:\Project\Damovo.co.uk_NEW\src\Orchard.Specs\Util\PathExtensions.cs:line 20 
at Orchard.Specs.Hosting.WebHost.CopyExtension(String extensionFolder, String extensionName, ExtensionDeploymentOptions deploymentOptions) in C:\Project\Damovo.co.uk_NEW\src\Orchard.Specs\Hosting\WebHost.cs:line 202 
at Orchard.Specs.Bindings.WebAppHosting.GivenIHaveModule(String moduleName) in C:\Project\Damovo.co.uk_NEW\src\Orchard.Specs\Bindings\WebAppHosting.cs:line 132 
at Orchard.Specs.Bindings.WebAppHosting.GivenIHaveACleanSiteWith(String virtualDirectory, Table table) in C:\Project\Damovo.co.uk_NEW\src\Orchard.Specs\Bindings\WebAppHosting.cs:line 161 
at Orchard.Specs.Bindings.OrchardSiteFactory.GivenIHaveInstalledOrchard(String virtualDirectory) in C:\Project\Damovo.co.uk_NEW\src\Orchard.Specs\Bindings\OrchardSiteFactory.cs:line 23 
at Orchard.Specs.Bindings.OrchardSiteFactory.GivenIHaveInstalledOrchard() in C:\Project\Damovo.co.uk_NEW\src\Orchard.Specs\Bindings\OrchardSiteFactory.cs:line 16 
at TechTalk.SpecFlow.Bindings.MethodBinding.InvokeAction(Object[] arguments, ITestTracer testTracer, TimeSpan& duration) 
at TechTalk.SpecFlow.TestRunner.ExecuteStepMatch(BindingMatch match, Object[] arguments) 
at TechTalk.SpecFlow.TestRunner.ExecuteStep(StepArgs stepArgs) 
at TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() 
at Orchard.Specs.AdditionFeature.AnonymousUserCanSeeTheHomePageButNotTheDashboard() in c:\Project\Damovo.co.uk_NEW\src\Orchard.Specs\PermissionModel.feature:line 28 

我試圖執行測試作爲管理員,但是我知道SpecFlow的真正知識,所以我懷疑我缺少重要的東西。

回答

1

它看起來像試圖訪問隱藏的Subversion文件夾(.svn),它們根本無法訪問。可能的原因是:

  • 用戶accound,在其下當前操作沒有足夠的訪問權限(讀取)。嘗試在頂級存儲庫文件夾「屬性」屏幕上的安全選項卡上爲當前登錄的用戶設置這些變化 - 更改應傳播到所有較低文件夾。
  • 有一個Subversion客戶端(如TortoiseSVN)在後臺運行,其中有這些文件打開供讀/寫。這更可能。嘗試關閉它(或者如果沒有關閉它的選項,則會終止SVN客戶端進程)並查看會發生什麼。

內部的.svn文件搞亂是危險的,破壞你的簽出的存儲庫文件夾。我不知道,如果SpecFlow修改的過程中這些文件 - 如果不是,這是很好的

也有(通過TortoiseSVN輸入導出選項)到單獨的文件夾(的SVN-導出庫文件的解決方案相關的東西不會被複制),做所有工作的副本,每次你想提交 - 將更改的文件複製回SVN綁定的文件夾。

+0

給「每個人」完全控制該文件夾不起作用。從HG倉庫克隆了Orchard,現在我在HttpClient.cs中遇到異常,懷疑這是因爲測試期望在http:// localhost /上看到Orchard,而不是http:// localhost: /我將進一步調查。感謝您的幫助以及您對社區的貢獻。 – 2011-05-25 21:54:38