我想要部分嘲笑,Httpsession但为此我需要窥探而不是嘲笑它,而且这是一个我已经无法获得的请求对象无法获得的接口.
请帮忙.
换句话说,我怎样才能得到HttpSession没有HttpServletRequest物体的物体.
更多详情::
有一个我要测试的servlet,servlet有会话,并在会话中放入"loginBean"(包含loged在用户相关信息中),我已经嘲笑过并且工作正常,现在在GUI级别,有2个选项卡,DetailSet1, detailsSet2,当您输入DetailSet1的数据时,它会保存在会话中并且还会执行一些业务逻辑,现在它来到DetailsSet2,您已经在会话中拥有DetailSet1,因此它可以满足所有需要,数据保存在DB中.不,很明显我必须模拟,HttpSession因为我从容器外部运行单元案例,但是存储的数据也在Httpsession ,如果我也嘲笑那些,它就会破坏测试的目的.回到我开始的时候,我需要Httpsession返回模拟数据的对象,我已经模拟了它,并且假设它像HttpSession其他情况的任何普通对象一样.就像,如果我做session.setAttribute("name","Vivek"),那么session.getAttribute("name")应该return "Vivek"在那之后,但是在模拟对象的情况下它返回null原因?因为我没有嘲笑行为getAttribute("name").我真的很抱歉,如果我仍然可以不让任何人理解我的要求.
用简单的词语部分嘲笑HttpSession.
我知道如何使用终端在linux机器上安装java.但我想使用Chef Framework自动化安装.我有两台机器M1和M2.我在机器M1上,想在机器M2上安装java.这是我在使用终端....
首先我SSH进入机器M2,我做了以下事情......(在这里我从第三方存储下载java文件.)
Step1:-
cd setup
step2:-
wget http://downloads.company.com/downloads/DevTools/jdk/6.0/jdk-6u31-linux-i586.bin
Step3:-
chmod +x jdk-6u31-linux-i586.bin
Step4:-
yes | ./jdk-6u31-linux-i586.bin
Step5:-
cd /usr/bin
Step6:-
mv java javaorg
Step7:-
cd /usr
Step8:-
ln -s /home/harish/setup/jdk1.6.0_31 java
Step9:-
echo 'export PATH=$PATH:/usr/java/bin' > /etc/profile.d/alljava.sh;echo 'export JAVA_BINDIR=/usr/java/bin' >> /etc/profile.d/alljava.sh;echo 'export JAVA_ROOT=/usr/java' >> /etc/profile.d/alljava.sh;echo 'export JAVA_HOME=/usr/java' >> /etc/profile.d/alljava.sh;echo 'export JRE_HOME=/usr/java/jre' >> /etc/profile.d/alljava.sh
Step10:-
source /etc/profile.d/alljava.sh
Step11:-
echo $JAVA_HOME
Step12:-
java -version
Run Code Online (Sandbox Code Playgroud)
我有以下问题:
我已经写了一些代码在SAME机器上安装java ..但它也无法正常工作..代码:
#cookbook/java/recipe/default.rb
*####This will install JAVA on machine …Run Code Online (Sandbox Code Playgroud) 我试图从这个数组中获取前2个值inject,
a = [1, 2, 5, 7, 4, 9, 2]
b = a.inject(Array.new(2) {0}) {|r, e|
if e > r[0]
r[1] = r[0]
r[0] = e
end
}
Run Code Online (Sandbox Code Playgroud)
但我不断收到错误'block in <main>': undefined method '[]' for nil:NilClass (NoMethodError)在该行r[1] = r[0]
我怎么能改变它,以便r[0]代表最大值a,r[1]第二大?或者是否有更好的,更像红宝石的方式?