刚刚一段代码如下:
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的程序编写时,通过测试会提示比较有用的信息。

解决方案 »

  1.   

    Junit提示的信息该如何理解呢。是否也可以从中得到这个数组下表越界的错误信息呢?
      

  2.   

    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)这到底是为何呢?
      

  3.   

    是我自己忘记加@Test里,求一个朋友过来终结此贴吧。谢谢了。