Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

357
Views
¿Cómo puedo agregar pruebas y código Vanilla C# a un proyecto de Unity?

Tengo un proyecto de Unity (versión 2020.2.1f1) y he factorizado una pequeña utilidad en C# que me gustaría probar por unidad. Actualmente, para compilar, la clase de utilidad necesita extender MonoBehaviour , pero me gustaría evitar esto y mantener la clase C# puro.

He buscado documentación sobre pruebas unitarias en Unity, pero solo puedo encontrar Unity Test Framework, que parece estar orientado al código del juego en lugar de C# puro. ¿Hay alguna forma de probar el código C# de Vanilla en Unity?

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

El siguiente artículo no menciona nada acerca de que un caso de prueba deba incluir código específico de Unity https://www.raywenderlich.com/9454-introduction-to-unity-unit-testing

Después de todo, Unity ES C#. No todo en tu proyecto tiene que usar la API de Unity

over 4 years ago · Santiago Trujillo Report

0

¿Por qué necesita implementar MonoBehaviour ?

Te sugiero que tengas, por ejemplo

 public class YourClass { ... }

y donde/si es necesario lo envuelves en un

 public class YourClassBehaviour : MonoBehaviour { public YourClass yourClassInstance; }

Y luego solo pruebe la funcionalidad interna de YourClass .


De cualquier manera: no es necesario que sea algo específico de Unity para realizar una prueba unitaria .

Puedes seguir adelante y, por ejemplo, hacer

 namespace YourThingy.EditorTests { public class YourClassTest { private YourClass yourClassInstance; [OneTimeSetup] public void Setup() { yourClassInstance = new YourClass(); } [Test] public void SomeTest() { yourClassInstance.DoSomething(); Assert.AreEuqual("someValue", yourClassInstance.someValue); } [Test] public void SoemTestThatIsntEvenUsingYourClass() { Assert.IsTrue(1f == (2f * 5f / 10f)); } } }

Como puede ver, las pruebas de unidad son puramente C# y no necesariamente usan nada de la API de Unity (excepto, por supuesto, el marco de prueba en sí)

Para no tener que ingresar al modo de reproducción, solo asegúrese de estar usando Editor Tests .

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!