junit如何测试某方法是否被调用 我想测试在某个方法被执行的时候,另外一个方法是否被他调用了,这样的代码应该如何写呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1,在你想调用的方法里打印被调用的信息,比如,System.out.println(“被调用了”);2,使用jmock,这个框架可能正是你需要的,比如,你想让某个方法确实被调用了,你可以用它设定该方法被调用,甚至可以设定调用次数和返回值。具体用法到他的网站上去查查看。 我现在是用junit测试程序,希望用junit证明某个方法被调用了,这样的功能junit可以完成吗? jmock本身就是为junit开发的,你可以上它的网站上去看看,它符不符合你的要求。说实话,我不是很明白你的意思,一个方法有没有被调用,如果你是在test方法里直接调用过了,这是很明显的,如果是通过其他方法间接调用,这个本身是程序逻辑的问题。所以,你要测试该方法有没有被调用,应该测试你的程序逻辑对不对,或者说看输入和输出是否正确。 举个例子吧: public void test (String arg) { if(arg.equals("A")) { methodA(); } else { methodB(); } }这里methodA和methodB是两个方法。我想测试,当执行完方法test后,是方法methodA被调用了还是方法methodB被调用了。 。那不是要看你的参数吗?你给了参数A,就调用A方法,你给了参数B,就调用B方法。我觉得你想测试的内容似乎不是junit的初衷。junit测试的就是方法的实现是不是和设计的一样,测试的是方法本身,不是这种调用关系吧。你想知道方法有没有被调用,junit怎么会知道呢?它只是一个框架,和普通的java applications一样的。最后再说一下,你可以去看一下jmock,看看符不符合你的要求。 我记得好像可以啊。也可能我记的不对。还是谢谢你。我去看看jmock。 public void test (String arg) { if(arg.equals("A")) { methodA(); assert.ture; //貌似这么写。调用对了就返回嘛,呵呵 } else { methodB(); } } Mock测试常见的框架有JMock和EasyMock本人更喜欢EasyMock(面向接口) 一个小问题求大牛们帮解释。。在线等哈 谢谢了 求助java.io.streamcorruptedException问题 请教一个多线程问题 Ice 分布式程序设计文档中文版 Java读取数据库返回数组的问题 急! applet类中调用runtime函数,实现运行一个exe文件 请问JAVA里播放FLASH影片的包是什么? 请问jbuilder8是怎样注册的啊? 万般火急!关于java打印,已经得到printerJob实例,那么怎么通过它得到Pageable实例? 来个大神帮我这个编码方法!!! 问一几个关于java实现套接字,基础的问题,谢谢大家! 请教IREPORT问题!
2,使用jmock,这个框架可能正是你需要的,比如,你想让某个方法确实被调用了,你可以用它设定该方法被调用,甚至可以设定调用次数和返回值。
具体用法到他的网站上去查查看。
说实话,我不是很明白你的意思,一个方法有没有被调用,如果你是在test方法里直接调用过了,
这是很明显的,如果是通过其他方法间接调用,这个本身是程序逻辑的问题。所以,你要测试该
方法有没有被调用,应该测试你的程序逻辑对不对,或者说看输入和输出是否正确。
public void test (String arg) {
if(arg.equals("A")) {
methodA();
} else {
methodB();
}
}
这里methodA和methodB是两个方法。
我想测试,当执行完方法test后,是方法methodA被调用了还是方法methodB被调用了。
if(arg.equals("A")) {
methodA();
assert.ture; //貌似这么写。调用对了就返回嘛,呵呵
} else {
methodB();
}
}
常见的框架有JMock和EasyMock
本人更喜欢EasyMock(面向接口)