请问下Junit的用处体现在哪儿?

2013-08-14 11:29:11
刚刚一段代码如下:
public void for2()
{

Person[] pArr = new Person[3];
pArr[0] = new Person("zhangsan",16);
pArr[1] = new Person("lisi",18);
pArr[3] = new Person("zhangsanfeng",20);//下表越界..

for(Person person:pArr)
{
System.out.println(person);
}

}


我用Junit进行测试...
提示信息如下:



拷贝出来的提示信息:

TestclassforFor.testFor2
Unrooted Tests
initializationError(org.junit.runner.manipulation.Filter)
java.lang.Exception: No tests found matching Method testFor2(cn.dzr.fortest.TestclassforFor) from org.junit.internal.requests.ClassRequest@54394557

at org.junit.internal.requests.FilterRequest.getRunner(FilterRequest.java:35)

at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.<init>(JUnit4TestReference.java:33)

at org.eclipse.jdt.internal.junit4.runner.JUnit4TestMethodReference.<init>(JUnit4TestMethodReference.java:25)

at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:54)

at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:38)

at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:452)

at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)

at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)


at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)


我用main执行以下:提示如下信息:

for Test
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
at cn.dzr.fortest.ForDemo.for2(ForDemo.java:14)
at cn.dzr.fortest.TestforDemo.main(TestforDemo.java:9)


通过main执行,我一下就知道错误的原因所在。
但是看到Junit那个错误提示,我无法获取什么有用的信息。

Junit究竟有什么好处呢?能够批量测试方法?
不过在做android的程序编写时,通过测试会提示比较有用的信息。


...全文
306 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Lich峰 2016-04-02
  • 打赏
  • 举报
回复
引用 3 楼 fortheother 的回复:
是我自己忘记加@Test里,求一个朋友过来终结此贴吧。谢谢了。
我也是哈哈,在main方法里运行没问题,junit就出错。看你这帖子,又好气又好笑。
April_CH 2013-08-15
  • 打赏
  • 举报
回复
还没到方法里就报错了,注解啊说的很清楚
小丑哥_V5 2013-08-15
  • 打赏
  • 举报
回复
2013-08-14
  • 打赏
  • 举报
回复
是我自己忘记加@Test里,求一个朋友过来终结此贴吧。谢谢了。
2013-08-14
  • 打赏
  • 举报
回复
	public void for2()
	{
		
		Person[] pArr = new Person[3];
		pArr[0] = new Person("zhangsan",16);
		pArr[1] = new Person("lisi",18);
		pArr[2] = new Person("zhangsanfeng",20);//下表越界..
		
		for(Person person:pArr)
		{
			person = new Person("liudehua",40);
			System.out.println(person);
		}
		for(Person person:pArr)
		{
			System.out.println(person);
		}
		
	}
这段代码,我在main()里可以执行。但是在Junit Test里,则会提示如下错误。 TestclassforFor.testFor2 Unrooted Tests initializationError(org.junit.runner.manipulation.Filter) java.lang.Exception: No tests found matching Method testFor2(cn.dzr.fortest.TestclassforFor) from org.junit.internal.requests.ClassRequest@7bf77df3 at org.junit.internal.requests.FilterRequest.getRunner(FilterRequest.java:35) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.<init>(JUnit4TestReference.java:33) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestMethodReference.<init>(JUnit4TestMethodReference.java:25) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:54) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:452) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) 这到底是为何呢?
2013-08-14
  • 打赏
  • 举报
回复
Junit提示的信息该如何理解呢。是否也可以从中得到这个数组下表越界的错误信息呢?

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧