看起来 play2 框架中的单元测试对我来说很难
由于框架自己的风格,许多代码都是静态编写的,并且彼此紧密耦合。
例如,
boolean isExample = Configuration.root().getBoolean("example.flag");
....
public class Global extends GlobalSettings {
@Override
public void onStart(Application app) {
Akka.system().scheduler().schedule .....
}
}
启动 Akka 调度是 GlobalSettings 的具体类的 onStarting 方法,它将在 FakeApplication 启动时触发。
Configuration.root() 将抛出 NPE 而不会在 FakeApplication 上运行。
一切都以静态方式进行,没有Mocking的余地。
您能否推荐任何具有适当测试隔离的良好最佳实践?
我必须始终使用集成测试吗?(与数据库、缓存、API 等各种东西建立联系)