Saiku源码拉下来在本地编译通过,然后想进行单元测试 发现不知道怎么写测试类了...
幸好有同事大佬的帮助,教了一招哈哈哈哈。。。
1、将本地编译通过的Saiku打包好(mvn clean install),会在saiku-server项目的target目录下面生成能直接启动的saiku服务: target\dist\saiku-server
目录内容如下:
2.更改saiku的启动脚本 ,因为是windows 所以更改脚本 start-saiku.bat
在脚本中添加如下内容: -Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n
更改之前的start-saiku.bat内容如下:
@echo off setlocal call "%~dp0\set-java.bat" cd tomcat\bin set CATALINA_HOME=%~dp0tomcat set CATALINA_OPTS= -Xms512m -Xmx768m -XX:MaxPermSize=256m -Dfile.encoding=UTF-8 -Dorg.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true -Djava.awt.headless=true set JAVA_HOME=%_JAVA_HOME% call startup :quit endlocal
更改之后的脚本内容为: (关于JVM参数也是在这个脚本中设置的哦 )
@echo off setlocal call "%~dp0\set-java.bat" cd tomcat\bin set CATALINA_HOME=%~dp0tomcat set CATALINA_OPTS= -Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n -Xms512m -Xmx768m -XX:MaxPermSize=256m -Dfile.encoding=UTF-8 -Dorg.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true -Djava.awt.headless=true set JAVA_HOME=%_JAVA_HOME% call startup :quit endlocal
3. 双击 start-saiku.bat 启动saiku, 启动成功后会看到如下内容(并且上方无异常信息)
4. 打开Eclipse开发工具对应的saiku源码项目
5. 点击工具栏的 run --> 选择 debug configurations ,看到如下弹窗
6.选择remote Java Application
7. 最后点击Debug ,在对应的代码中打上 断点,在运行的程序中发送对应的请求,便可调试了。
比如,我调用saiku的登录,在saiku-web中的 SessionResource.java 类中打断点,之后便进入断点调试。