在应用程序启动时,正在调用_events脚本中的eventTestPhasesStart事件代码。执行runapp时,事件代码中引用的测试类不可用,这会导致启动时未解决的类错误。
此代码也无法在分叉模式下运行,这迫使我们关闭分叉模式以运行集成测试,这意味着我们无法使用调试器来调试Grails 2.4现在需要的测试。
以下是事件代码:
eventTestPhasesStart = {phasesToRun - > println“设置inmem阶段” phasesToRun<< “inmem”
def inmemPhaseConfigurer = new IntegrationTestPhaseConfigurer(projectTestRunner.projectTestCompiler, projectLoader)
projectTestRunner.testFeatureDiscovery.configurers.inmem = inmemPhaseConfigurer
def inmemtestTypeName = "inmem"
def inmemtestDirectory = "inmem"
def inmemtestMode = new GrailsTestMode(autowire: true, wrapInTransaction: true, wrapInRequestEnvironment: true)
inmemTestTypes = []
inmemTestTypes << (new GrailsSpecTestType(inmemtestTypeName+"Spock", inmemtestDirectory, inmemtestMode))
inmemTestTypes << (new JUnit4GrailsTestType(inmemtestTypeName+"JUnit", inmemtestDirectory, inmemtestMode))
projectTestRunner.testFeatureDiscovery.testExecutionContext.inmemTests = inmemTestTypes
}
在分叉模式下运行时,再次调用此事件时/不应该导致动态属性(例如找不到projectTestRunner)。
有没有办法防止这个脚本在不应该执行时执行?
谢谢