test(name, method, later=false) {
        (later ? this.later_tests : this.tests).push([name, status => {
            assertionSubjectIndexForNextTest = 1;
            let result = method(status);
            if (result === undefined && assertionSubjectIndexForNextTest === 1) {
                console.warn(`No assertions in test '${name}' of suite '${this.name}'.`);
            }
            return result;
        }]);
    }
@param {!string} name
@param {!function(!{ warn_only: !boolean|!string })} method
@param {!boolean=false} later