2

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、文字列の多分フルパス) で
System.IO.File.InternalCopy (文字列 sourceFileName、文字列 destFileName、ブール値の上書き) で
C:\Project\Damovo.co.uk_NEW\src\Orchard.Specs\Util\PathExtensions.cs:line 51 の Orchard.Specs.Util.PathExtensions.FileCopy (パス sourcePath、パス targetPath、パス 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 (文字列 extensionFolder、文字列 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 (文字列 virtualDirectory、テーブル テーブル) で
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 (Object[] 引数、ITestTracer testTracer、TimeSpan& 期間) で
TechTalk.SpecFlow.TestRunner.ExecuteStepMatch で (BindingMatch 一致、Object[] 引数)
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 の本当の知識を知っているので、重要な何かが欠けているのではないかと思います。

4

1 に答える 1

1

非表示の Subversion フォルダー (.svn) にアクセスしようとしているように見えますが、単にアクセスできません。考えられる理由は次のとおりです。

  • 現在操作しているユーザー アカウントには、十分なアクセス権 (読み取り) がありません。最上位のリポジトリ フォルダーの [プロパティ] 画面の [セキュリティ] タブで、現在ログインしているユーザーの設定を試してください。変更はすべての下位フォルダーに反映されます。
  • バックグラウンドで実行されている Subversion クライアント (TortoiseSVN など) があり、これらのファイルは読み取り/書き込み用に開かれています。これは可能性が高いです。オフにしてみて (または、閉じるオプションがない場合は SVN クライアント プロセスを強制終了して)、何が起こるかを確認してください。

内部の .svn ファイルをいじると危険であり、チェックアウトしたリポジトリ フォルダーが破損する可能性があります。SpecFlow がプロセスでこれらのファイルを変更するかどうかはわかりません。変更しない場合は、それで問題ありません

リポジトリ ファイルを (TortoiseSVN エクスポート オプションを使用して) 別のフォルダーにエクスポートし ( SVN 関連のものはコピーされません)、コピーですべての作業を行い、コミットするたびに - コピーを変更するソリューションもあります。ファイルを SVN バインド フォルダーに戻します。

于 2011-05-24T11:48:56.427 に答える