Open jpedrodelrio opened 1 week ago
Podría ser esto: https://github.com/franciscogazitua/IIC2113-2024/issues/41
Pero no tengo ninguna atributo static en mi código. Entonces no sé que más podría estar sucediendo. Y lo raro es que solo pasan los test de InvalidCombat.
¿Si corres un solo test que falla (de manera individual) te funciona? (hay que hacer click derecho sobre un test individual y poner Run Selected Unit Test)
Si corro cada test de manera individual si funciona, pero al correr todos los test me aparece que se cae cuando debiese pedir Player 1 selecciona una opcion.
En todos mis años enseñando el curso, el 100% de las veces que a un estudiante le ha pasado eso es porque tiene algún atributo static
dando vuelta por ahí :/
¿Estás muy seguro que ese no es el caso? Notar que al atributo static
puede estar en el controlador, la vista o el modelo. En cualquier parte que esté te puede ocasionar este tipo de error.
Como atributo no tengo ninguno static, solo tengo factory como clases static, como la que verifica las condiciones de cada skill para ver si se puede aplicar. De esta forma:
No se si eso es lo que está causando problemas.
No debería. Sobretodo considerando que esa factory probablemente esté ahí desde hace mucho rato y antes sí te funcionaban los test cases.
¿Qué cambiaste cuando te dejaron de funcionar?
Literal estaba modificando el proyecto para adaptarlo a MVC y lo unico que cambie o hice de nuevo fue como inicializaba los jugadores al leer los arechivos .json.
Pucha, necesito más información para saber cuál es el problema :/
Cuando un test pasa individualmente pero falla al correr todos los test cases es porque al correr los tests en paralelo (usando multiples threads) tu aplicación muere por algún motivo. Eso ocurre cuando los threads no son 100% independientes. Onda, que estén mirando a los mismos recursos. Cuando se tienen atributos static
ocurre eso. El valor de ese atributo es el mismo en todos los threads, entonces cambiarlo en un thread (i.e., test) hace que se cambie en todos los otros.
Otro ejemplo es que modifiques un archivo que otro thread está leyendo. Onda, si guardaras algo en un txt para luego leerlo, fallaría porque otro thread (al mismo tiempo) también va a guardar y leer del mismo archivo. Pero no creo que estés haciendo algo tan rebuscado como eso :/
... igual qué error te tiran los tests? me dijiste que era algo relacionado a los jugadores -- que es la parte que editaste, o no?
este es el error que me tira cuando hago Debug Unit Test:
Creo que eso no es un error. Es un break point que pusiste en la línea 28.
Hola! Luwgo de implementar MVC, corro todos los Units test y me aparecen como "failed", pero si los corro uno por uno manualmente estos si están correctos, a que se puede deber esto.
Muchas gracias