Gestalt Arcade Room Unit Tests

Short version — for every prefab, have code that builds or includes that prefab into an existing arcade room scene.

The arcade rooms are laid out such that all interactive elements get to interact with one another.

Then the unit tests can run like the existing NJect based ones do — where it does the assemble, act, assert as fast a code possible across all of the tests and exits — BUT if the developer turns on Arcde Room Mode — it does the following:

  • makes all Unit Tests playback in "game" time (even allow the dev to slow down time)
  • makes all unit tests loop
  • highlights any areas / game objects that have a failed unit test assert anywhere
    • with "in scene UI" to show failed assert
  • turn on "info level" debugging to console
  • support breakpoints with rider

Intent of the Arcade Room Unit Test

  • all Prefabs and their behaviors are all tested in the arcade room
  • so that a change in one prefab which could break the relationship or combined behavior is obvious as soon as someone runs the full suite of arcade room tests
  • All arcade room tests are:
    • easy to modify (each actor's script is in English, see sketch)
    • mute/solo, take control of elements
    • allow anyone to leave loop time and arcade room stage aware comments in text or audio (directors commentary)
    • versioned with a visual "diff" tool between versions

To replace this:

image

With this:

image
image

After I write and document this all out, I should send idea for feedback from:

Ludiq
Justin @ Kinematic Soup
Jason Weinman
Sam @ unity3d meetup
image
image
image
image
image
image