Em đã import ezyfox-server thành công, nhưng khi chạy thử
ezyfox-server/ezyfox-server-support/src/test/java/com/tvd12/ezyfoxserver/support/test/entry/EzySimpleAppEntryTest.java thì bị exception, mặc dù test vẫn passed. Anh giải thích chỗ này giúp em với ạ.
Full log:
19:58:31,683 DEBUG [main] impl.EzyObjectWriterElementsFetcher - start scan class com.tvd12.ezyfoxserver.support.test.entry.ClientNoUserRequestHandler
19:58:31,695 DEBUG [main] impl.EzyObjectWriterElementsFetcher - scan field session
19:58:31,695 DEBUG [main] impl.EzyObjectWriterElementsFetcher - field session has not getter/setter, ignore it
19:58:31,695 DEBUG [main] impl.EzyObjectWriterElementsFetcher - scan field logger
19:58:31,696 DEBUG [main] impl.EzyObjectWriterElementsFetcher - field logger has not getter/setter, ignore it
19:58:31,696 DEBUG [main] impl.EzyObjectWriterElementsFetcher - finish scan class com.tvd12.ezyfoxserver.support.test.entry.ClientNoUserRequestHandler
19:58:31,851 DEBUG [main] impl.EzyObjectWriterBuilder - class com.tvd12.ezyfoxserver.support.test.entry.ClientNoUserRequestHandler$EzyObjectWriter$EzyAutoImpl$1 has generated
19:58:31,852 DEBUG [main] impl.EzyObjectWriterElementsFetcher - start scan class com.tvd12.ezyfoxserver.support.test.entry.ClientChatRequestHandler
19:58:31,853 DEBUG [main] impl.EzyObjectWriterElementsFetcher - scan field user
19:58:31,853 DEBUG [main] impl.EzyObjectWriterElementsFetcher - field user has not getter/setter, ignore it
19:58:31,853 DEBUG [main] impl.EzyObjectWriterElementsFetcher - scan field session
19:58:31,857 DEBUG [main] impl.EzyObjectWriterElementsFetcher - field session has not getter/setter, ignore it
19:58:31,857 DEBUG [main] impl.EzyObjectWriterElementsFetcher - scan field logger
19:58:31,857 DEBUG [main] impl.EzyObjectWriterElementsFetcher - field logger has not getter/setter, ignore it
19:58:31,857 DEBUG [main] impl.EzyObjectWriterElementsFetcher - finish scan class com.tvd12.ezyfoxserver.support.test.entry.ClientChatRequestHandler
19:58:31,860 DEBUG [main] impl.EzyObjectWriterBuilder - class com.tvd12.ezyfoxserver.support.test.entry.ClientChatRequestHandler$EzyObjectWriter$EzyAutoImpl$2 has generated
19:58:31,862 DEBUG [main] impl.EzyObjectWriterElementsFetcher - start scan class com.tvd12.ezyfoxserver.support.test.entry.ClientNoSessionRequestHandler
19:58:31,863 DEBUG [main] impl.EzyObjectWriterElementsFetcher - scan field logger
19:58:31,863 DEBUG [main] impl.EzyObjectWriterElementsFetcher - field logger has not getter/setter, ignore it
19:58:31,864 DEBUG [main] impl.EzyObjectWriterElementsFetcher - finish scan class com.tvd12.ezyfoxserver.support.test.entry.ClientNoSessionRequestHandler
19:58:31,868 DEBUG [main] impl.EzyObjectWriterBuilder - class com.tvd12.ezyfoxserver.support.test.entry.ClientNoSessionRequestHandler$EzyObjectWriter$EzyAutoImpl$3 has generated
19:58:32,348 DEBUG [main] impl.EzyByConstructorSingletonLoader - add singleton with name serverReadyEventHandler of class com.tvd12.ezyfoxserver.support.test.entry.ServerReadyEventHandler, object = com.tvd12.ezyfoxserver.support.test.entry.ServerReadyEventHandler@61d6015a
19:58:32,369 DEBUG [main] impl.EzyByConstructorPrototypeSupplierLoader - add prototype supplier of com.tvd12.ezyfoxserver.support.test.entry.ClientNoUserRequestHandler$EzyPrototypeSupplier$EzyAutoImpl$1
19:58:32,372 DEBUG [main] impl.EzyByConstructorPrototypeSupplierLoader - add prototype supplier of com.tvd12.ezyfoxserver.support.test.entry.ClientNoDataBindingRequestHandler$EzyPrototypeSupplier$EzyAutoImpl$2
19:58:32,377 DEBUG [main] impl.EzyByConstructorPrototypeSupplierLoader - add prototype supplier of com.tvd12.ezyfoxserver.support.test.entry.ClientBadRequestSendRequestHandler$EzyPrototypeSupplier$EzyAutoImpl$3
19:58:32,380 DEBUG [main] impl.EzyByConstructorPrototypeSupplierLoader - add prototype supplier of com.tvd12.ezyfoxserver.support.test.entry.ClientBadRequestNoSendRequestHandler$EzyPrototypeSupplier$EzyAutoImpl$4
19:58:32,383 DEBUG [main] impl.EzyByConstructorPrototypeSupplierLoader - add prototype supplier of com.tvd12.ezyfoxserver.support.test.entry.ClientAppRequestHandler$EzyPrototypeSupplier$EzyAutoImpl$5
19:58:32,386 DEBUG [main] impl.EzyByConstructorPrototypeSupplierLoader - add prototype supplier of com.tvd12.ezyfoxserver.support.test.entry.ClientExceptionRequestHandler$EzyPrototypeSupplier$EzyAutoImpl$6
19:58:32,389 DEBUG [main] impl.EzyByConstructorPrototypeSupplierLoader - add prototype supplier of com.tvd12.ezyfoxserver.support.test.entry.ClientChatRequestHandler$EzyPrototypeSupplier$EzyAutoImpl$7
19:58:32,393 DEBUG [main] impl.EzyByConstructorPrototypeSupplierLoader - add prototype supplier of com.tvd12.ezyfoxserver.support.test.entry.ClientNoSessionRequestHandler$EzyPrototypeSupplier$EzyAutoImpl$8
19:58:32,397 INFO [main] entry.EzySimpleAppEntryTest$EzyAppEntryEx - add event SERVER_READY controller com.tvd12.ezyfoxserver.support.test.entry.ServerReadyEventHandler@61d6015a
19:58:32,414 DEBUG [main] controller.EzyUserRequestAppPrototypeController$Builder - add command badRequestSend and request handler supplier com.tvd12.ezyfoxserver.support.test.entry.ClientBadRequestSendRequestHandler$EzyPrototypeSupplier$EzyAutoImpl$3@72cde7cc
19:58:32,415 DEBUG [main] controller.EzyUserRequestAppPrototypeController$Builder - add command badRequestNoSend and request handler supplier com.tvd12.ezyfoxserver.support.test.entry.ClientBadRequestNoSendRequestHandler$EzyPrototypeSupplier$EzyAutoImpl$4@5fd4f8f5
19:58:32,415 DEBUG [main] controller.EzyUserRequestAppPrototypeController$Builder - add command app and request handler supplier com.tvd12.ezyfoxserver.support.test.entry.ClientAppRequestHandler$EzyPrototypeSupplier$EzyAutoImpl$5@4e7912d8
19:58:32,415 DEBUG [main] controller.EzyUserRequestAppPrototypeController$Builder - add command noSession and request handler supplier com.tvd12.ezyfoxserver.support.test.entry.ClientNoSessionRequestHandler$EzyPrototypeSupplier$EzyAutoImpl$8@2f8dad04
19:58:32,416 DEBUG [main] controller.EzyUserRequestAppPrototypeController$Builder - add command exception and request handler supplier com.tvd12.ezyfoxserver.support.test.entry.ClientExceptionRequestHandler$EzyPrototypeSupplier$EzyAutoImpl$6@53976f5c
19:58:32,416 DEBUG [main] controller.EzyUserRequestAppPrototypeController$Builder - add command noUser and request handler supplier com.tvd12.ezyfoxserver.support.test.entry.ClientNoUserRequestHandler$EzyPrototypeSupplier$EzyAutoImpl$1@c333c60
19:58:32,416 DEBUG [main] controller.EzyUserRequestAppPrototypeController$Builder - add command chat and request handler supplier com.tvd12.ezyfoxserver.support.test.entry.ClientChatRequestHandler$EzyPrototypeSupplier$EzyAutoImpl$7@2bfc268b
19:58:32,416 DEBUG [main] controller.EzyUserRequestAppPrototypeController$Builder - add command noDataBinding and request handler supplier com.tvd12.ezyfoxserver.support.test.entry.ClientNoDataBindingRequestHandler$EzyPrototypeSupplier$EzyAutoImpl$2@79da8dc5
19:58:32,791 WARN [main] controller.EzyUserRequestAppPrototypeController - has no handler with command: no command from session: null(owner: null, address: null)
19:58:32,815 ERROR [main] impl.EzySendResponseImpl - send data: [31, [1, [err, [1, test]]]], to client: null(owner: null, address: null) error
java.lang.NullPointerException
at com.tvd12.ezyfoxserver.command.impl.EzySendResponseImpl.execute(EzySendResponseImpl.java:41)
at com.tvd12.ezyfoxserver.context.EzySimpleServerContext.send(EzySimpleServerContext.java:89)
at com.tvd12.ezyfoxserver.command.impl.EzyAppSendResponseImpl.execute(EzyAppSendResponseImpl.java:30)
at com.tvd12.ezyfoxserver.context.EzySimpleAppContext.send(EzySimpleAppContext.java:52)
at com.tvd12.ezyfoxserver.context.EzyZoneChildContext.send(EzyZoneChildContext.java:25)
at com.tvd12.ezyfoxserver.support.controller.EzyUserRequestAppPrototypeController.responseError(EzyUserRequestAppPrototypeController.java:30)
at com.tvd12.ezyfoxserver.support.controller.EzyUserRequestAppPrototypeController.responseError(EzyUserRequestAppPrototypeController.java:10)
at com.tvd12.ezyfoxserver.support.controller.EzyUserRequestPrototypeController.handle(EzyUserRequestPrototypeController.java:66)
at com.tvd12.ezyfoxserver.support.controller.EzyUserRequestSingletonController.handle(EzyUserRequestSingletonController.java:60)
at com.tvd12.ezyfoxserver.support.controller.EzyUserRequestAppSingletonController.handle(EzyUserRequestAppSingletonController.java:8)
at com.tvd12.ezyfoxserver.support.test.entry.EzySimpleAppEntryTest.handleClientRequest(EzySimpleAppEntryTest.java:136)
at com.tvd12.ezyfoxserver.support.test.entry.EzySimpleAppEntryTest.test(EzySimpleAppEntryTest.java:78)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:133)
at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:598)
at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:173)
at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)
at org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:824)
at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:146)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)
at java.util.ArrayList.forEach(ArrayList.java:1255)
at org.testng.TestRunner.privateRun(TestRunner.java:794)
at org.testng.TestRunner.run(TestRunner.java:596)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:377)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:371)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:332)
at org.testng.SuiteRunner.run(SuiteRunner.java:276)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1212)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1134)
at org.testng.TestNG.runSuites(TestNG.java:1063)
at org.testng.TestNG.run(TestNG.java:1031)
at org.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:73)
at org.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:123)
19:58:32,820 DEBUG [main] controller.EzyUserRequestAppPrototypeController - request cmd: badRequestSend by session: null(owner: null, address: null) with data: [badRequestSend] error
com.tvd12.ezyfox.core.exception.EzyBadRequestException: test
at com.tvd12.ezyfoxserver.support.test.entry.ClientBadRequestSendRequestHandler.handle(ClientBadRequestSendRequestHandler.java:21)
at com.tvd12.ezyfoxserver.support.controller.EzyUserRequestPrototypeController.handle(EzyUserRequestPrototypeController.java:60)
at com.tvd12.ezyfoxserver.support.controller.EzyUserRequestSingletonController.handle(EzyUserRequestSingletonController.java:60)
at com.tvd12.ezyfoxserver.support.controller.EzyUserRequestAppSingletonController.handle(EzyUserRequestAppSingletonController.java:8)
at com.tvd12.ezyfoxserver.support.test.entry.EzySimpleAppEntryTest.handleClientRequest(EzySimpleAppEntryTest.java:136)
at com.tvd12.ezyfoxserver.support.test.entry.EzySimpleAppEntryTest.test(EzySimpleAppEntryTest.java:78)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:133)
at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:598)
at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:173)
at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)
at org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:824)
at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:146)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)
at java.util.ArrayList.forEach(ArrayList.java:1255)
at org.testng.TestRunner.privateRun(TestRunner.java:794)
at org.testng.TestRunner.run(TestRunner.java:596)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:377)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:371)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:332)
at org.testng.SuiteRunner.run(SuiteRunner.java:276)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1212)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1134)
at org.testng.TestNG.runSuites(TestNG.java:1063)
at org.testng.TestNG.run(TestNG.java:1031)
at org.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:73)
at org.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:123)
19:58:32,822 DEBUG [main] controller.EzyUserRequestAppPrototypeController - request cmd: badRequestNoSend by session: null(owner: null, address: null) with data: [badRequestNoSend] error
com.tvd12.ezyfox.core.exception.EzyBadRequestException: test
at com.tvd12.ezyfoxserver.support.test.entry.ClientBadRequestNoSendRequestHandler.handle(ClientBadRequestNoSendRequestHandler.java:21)
at com.tvd12.ezyfoxserver.support.controller.EzyUserRequestPrototypeController.handle(EzyUserRequestPrototypeController.java:60)
at com.tvd12.ezyfoxserver.support.controller.EzyUserRequestSingletonController.handle(EzyUserRequestSingletonController.java:60)
at com.tvd12.ezyfoxserver.support.controller.EzyUserRequestAppSingletonController.handle(EzyUserRequestAppSingletonController.java:8)
at com.tvd12.ezyfoxserver.support.test.entry.EzySimpleAppEntryTest.handleClientRequest(EzySimpleAppEntryTest.java:142)
at com.tvd12.ezyfoxserver.support.test.entry.EzySimpleAppEntryTest.test(EzySimpleAppEntryTest.java:78)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:133)
at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:598)
at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:173)
at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)
at org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:824)
at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:146)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)
at java.util.ArrayList.forEach(ArrayList.java:1255)
at org.testng.TestRunner.privateRun(TestRunner.java:794)
at org.testng.TestRunner.run(TestRunner.java:596)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:377)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:371)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:332)
at org.testng.SuiteRunner.run(SuiteRunner.java:276)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1212)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1134)
at org.testng.TestNG.runSuites(TestNG.java:1063)
at org.testng.TestNG.run(TestNG.java:1031)
at org.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:73)
at org.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:123)
===============================================
Default Suite
Total tests run: 2, Passes: 2, Failures: 0, Skips: 0
===============================================