Tengo la siguiente pregunta: ¿Cuáles son las ventajas y desventajas de ejecutar nunit-console con la opción/noshadow? Tus comentarios serán muy útiles GraciasOpción Noshadow para nunit-console
Respuesta
El problema principal que he encontrado con/noshadow es que impide que tu proyecto se construya ya que NUnit ahora está obligado a usar y bloquear tu DLL. Si deja esta opción deshabilitada, entonces NUnit crea una copia de su DLL.
Si está tratando de practicar TDD y está constantemente construyendo el proyecto en el ciclo Refactor Rojo, Verde, entonces no puede usar/sombrear fácilmente. Aparecerá un mensaje de error como:
El proceso no puede acceder al archivo 'bin \ Debug \ calculator.dll' porque está siendo utilizado por otro proceso.
Probablemente haya formas de evitar esto, pero ese es el principal problema que he encontrado.
En cuanto a usa usa esto: creo que la razón principal es para acelerar el rendimiento, pero como la mayoría de las pruebas de unidades reales se ejecutan muy rápido, no estoy seguro de cuándo realmente necesitarías esto. Estoy seguro de que otras personas encontrarán algunos buenos ejemplos.
Si confía en algo que utiliza una ubicación de archivo en sus pruebas, por ejemplo, para un proceso de carga de ensamblaje curioso, o simplemente algo tan simple como Assembly.GetExecutingAssembly(). Ubicación, entonces es probable que golpee problemas porque NUnit ha copiado su archivo a otra ubicación que no sea la de compilación.
Yo diría que normalmente estos problemas se pueden evitar, especialmente si evita tocar el sistema de archivos en las pruebas de su unidad.
Una advertencia rápida, el complemento gradle para Nunit ha cambiado la forma de especificar las opciones de sombreado. Me tomó un tiempo encontrar esto para postear aquí en caso de que pueda ayudar a alguien más.
noShadow se reemplaza por shadowCopy y el valor predeterminado es falso, es decir, el nombre ha cambiado y el sentido/dirección de la misma es el opuesto. Esto se hizo aparentemente para unir más de cerca lo que hace Nunit 3. Puede leer detalles sobre esto en el plugin changlog en https://github.com/Ullink/gradle-nunit-plugin/blob/master/CHANGELOG.md
- 1. Opción NoSql para MMORPGs
- 2. -opción estática para gcc?
- 3. sed - opción desconocida para `s'
- 4. onClick Opción para Rickshaw Charting
- 5. Opción Parsers para C/C++?
- 6. Opción "Desactivado" para choiceField - Django
- 7. Opción de pase para cmake para la opción futura de crosscompilation (CROSS_COMPILE)
- 8. ¿hay alguna opción XDebug para depurar PHP?
- 9. ¿Es Neo4J una buena opción para clojure?
- 10. selectores de jQuery para seleccionar/opción: seleccionado
- 11. autocompletar para seleccionar la opción de Javascript
- 12. ¿Qué significa la opción -O- para wget?
- 13. opción "on" para unirse a squeel
- 14. use jquery para seleccionar una opción desplegable
- 15. opción seleccionada no funciona para seleccione
- 16. ¿Es Spring la opción correcta para mí?
- 17. Opción de selección de mouse para IE
- 18. Habilite la opción HDR para UIImagePickerController
- 19. : cualquier opción para raíles 3 rutas
- 20. ¿Para qué sirve la opción 'sonar' para crear bibliotecas compartidas?
- 21. jQuery para eliminar una opción de la lista desplegable, dado el texto/valor de la opción
- 22. Qué es la opción en la opción del CCG "-Wl, OPCIÓN"
- 23. php cURL opción silenciosa?
- 24. Opción TaskCreationOptions.LongRunning y ThreadPool
- 25. Cuándo utilizar la opción
- 26. curl insegura opción
- 27. Conversión Opción [T] a Opción [U] en Scala
- 28. opción de contexto $ .ajax
- 29. html opción seleccionado selecto
- 30. compilador C#:/nostdlib opción
Es exactamente por eso que lo estoy usando. Nuestro UAT carga archivos de Excel y usamos Assembly.GetExecutingAssembly(). Ubicación para encontrarlos. Sin él, tendríamos que almacenar su ubicación en alguna configuración. Y debe ser una ruta absoluta, por lo que sería diferente en cada máquina. –