Closure Compiler - 方法可以 public 仅用于测试吗?

Closure Compiler - can a method be public ONLY for testing?

我有一个方法需要测试,但最终我不希望这个方法成为public。是否有我可以使用的标记,以便我可以在我的测试中使用该方法(就好像它是 public)但该方法在最终结果中将是私有的?

一种方法是定义编译器@define 值,您可以为测试代码设置该值,否则取消设置:

/** @define {boolean} */
var TESTING = false;

那么你可以这样做:

if (TESTING) {
  var someMethodVisibleForTesting = function() {}
}

这是您唯一的选择。