Pruebas de SpecFlow que fallan con excepciones de acceso denegado

Después de poner en marcha el Orchard CMS y luego registrarlo en nuestro repository de Subversion, he estado buscando la cobertura de testing existente y específicamente las testings SpecFlow.

Cuando bash ejecutar las testings desde el corrector de testing CodeRush o desde la GUI de NUnit (v2.5.10) obtengo excepciones en 67 de las testings:

 Orchard.Specs.AdditionFeature.AnonymousUserCanSeeTheHomePageButNotTheDashboard:
 System.UnauthorizedAccessException: acceso a la ruta
 'C: \ Users \ richard.slater \ AppData \ Local \ Temp \ Orchard.Specs \ 5dchvodt.b1i \ Modules \
 Orchard.Packaging \ Views \ .svn \ all-wcprops está denegado.
 en System.IO .__ Error.WinIOError (Int32 errorCode, String maybeFullPath)
 en System.IO.File.InternalCopy (String sourceFileName, String destFileName, Boolean overwrite)
 en Orchard.Specs.Util.PathExtensions.FileCopy (Path sourcePath, Path targetPath, Path sourceFile) en C: \ Project \ Damovo.co.uk_NEW \ src \ Orchard.Specs \ Util \ PathExtensions.cs: línea 51
 en Orchard.Specs.Util.PathExtensions.c__DisplayClass1.b__0 (file de ruta) en C: \ Project \ Damovo.co.uk_NEW \ src \ Orchard.Specs \ Util \ PathExtensions.cs: línea 22
 en Bleroy.FluentPath.PathCollection.ForEach (Acción `1 acción)
 en Orchard.Specs.Util.PathExtensions.DeepCopy (Path sourcePath, Path targetPath) en C: \ Project \ Damovo.co.uk_NEW \ src \ Orchard.Specs \ Util \ PathExtensions.cs: línea 20
 en Orchard.Specs.Hosting.WebHost.CopyExtension (String extensionFolder, String extensionName, ExtensionDeploymentOptions deploymentOptions) en C: \ Project \ Damovo.co.uk_NEW \ src \ Orchard.Specs \ Hosting \ WebHost.cs: línea 202
 en Orchard.Specs.Bindings.WebAppHosting.GivenIHaveModule (String moduleName) en C: \ Project \ Damovo.co.uk_NEW \ src \ Orchard.Specs \ Bindings \ WebAppHosting.cs: línea 132
 en Orchard.Specs.Bindings.WebAppHosting.GivenIHaveACleanSiteWith (String virtualDirectory, Table table) en C: \ Project \ Damovo.co.uk_NEW \ src \ Orchard.Specs \ Bindings \ WebAppHosting.cs: línea 161
 en Orchard.Specs.Bindings.OrchardSiteFactory.GivenIHaveInstalledOrchard (String virtualDirectory) en C: \ Project \ Damovo.co.uk_NEW \ src \ Orchard.Specs \ Bindings \ OrchardSiteFactory.cs: línea 23
 en Orchard.Specs.Bindings.OrchardSiteFactory.GivenIHaveInstalledOrchard () en C: \ Project \ Damovo.co.uk_NEW \ src \ Orchard.Specs \ Bindings \ OrchardSiteFactory.cs: línea 16
 en TechTalk.SpecFlow.Bindings.MethodBinding.InvokeAction (Object [] arguments, ITestTracer testTracer, TimeSpan y duración)
 en TechTalk.SpecFlow.TestRunner.ExecuteStepMatch (coincidencia de BindingMatch, arguments de Object [])
 en TechTalk.SpecFlow.TestRunner.ExecuteStep (StepArgs stepArgs)
 en TechTalk.SpecFlow.TestRunner.CollectScenarioErrors ()
 en Orchard.Specs.AdditionFeature.AnonymousUserCanSeeTheHomePageButNotTheDashboard () en c: \ Project \ Damovo.co.uk_NEW \ src \ Orchard.Specs \ PermissionModel.feature: línea 28

Intenté ejecutar las testings como administrador, sin embargo, tengo conocimiento real de SpecFlow, así que sospecho que me estoy perdiendo algo crítico.

Parece que está intentando acceder a las carpetas ocultas de Subversion (.svn) y simplemente no son accesibles. Las posibles razones son:

  • La count del usuario, según la cual está operando actualmente, no tiene suficientes derechos de acceso (lectura). Intente configurar esos para el usuario actualmente conectado en la pestaña Seguridad en la carpeta de repository de nivel superior de la pantalla Propiedades: los cambios deberían propagarse a todas las carpetas inferiores.
  • Hay un cliente de Subversion (como TortoiseSVN) ejecutándose en segundo plano , que tiene esos files abiertos para leer / escribir. Esto es más probable Intente apagarlo (o elimine el process del cliente SVN si no hay otra opción para cerrarlo) y vea qué sucedería.

Jugar con files .svn internos puede ser peligroso y corromper la carpeta del repository revisada. No sé si SpecFlow modifica esos files en el process; de lo contrario, eso es bueno

También hay una solución para exportar los files del repository (a través de la opción de export de TortoiseSVN ) a la carpeta separada ( las cosas relacionadas con SVN no se copyrán ), haga todo el trabajo en la copy y cada vez que desee confirmar la copy. files a la carpeta SVN-bound.