constructor() {
    // Use the same EnvironmentTestCase instance across all EnvironmentBase
    // objects.
    if (!EnvironmentBase.activeTestCase_) {
      const testcase = new EnvironmentTestCase();

      EnvironmentBase.activeTestCase_ = testcase;
    }
    EnvironmentBase.activeTestCase_.registerEnvironment_(this);
  }
JsUnit environments allow developers to customize the existing testing
lifecycle by hitching additional setUp and tearDown behaviors to tests.

Environments will run their setUp steps in the order in which they
are instantiated and registered. During tearDown, the environments will
unwind the setUp and execute in reverse order.

This base class has no dependencies on mocking or goog.testing.asserts.