微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

测试用例错误 square(int) 在 Fox 中有私有访问权限

如何解决测试用例错误 square(int) 在 Fox 中有私有访问权限

每次编译时我都会遇到一个错误,说 square(int) 在 fox 中具有私有访问权限 并突出显示代码“assertEquals(25,tod.square(5),.001);”我不知道为什么它一直这样说,但代码对我来说看起来不错。这应该是代码的测试类,即使不需要。 完整代码如下

public class FoxTest extends TestCase
{
    //~ Fields ................................................................


    //~ Constructor ...........................................................

    // ----------------------------------------------------------
    /**
     * Creates a new FoxTest test object.
     */
    public Foxtest()
    {
        // The constructor is usually empty in unit tests,since it runs
        // once for the whole class,not once for each test method.
        // Per-test initialization should be placed in setUp() instead.
    }


    //~ Methods ...............................................................

    // ----------------------------------------------------------
    /**
     * Sets up the test fixture.
     * Called before every test case method.
     */
    public void setUp()
    {
        /*# Insert your own setup code here */
    }


    // ----------------------------------------------------------
    /**
       * test the constructor
       */
      public void testConst()
      {
          Fox tod = new Fox();
          assertEquals(3,tod.getSpeed());
      }
    /**
      * test the distance to
      */
     public void testdistance()
     {
         Fox tod = new Fox();
         tod.setGridX(0);
         tod.setGridY(0);
         Fox ring = new Fox();
         ring.setGridX(0);
         ring.setGridY(3);
         assertEquals(3,ring.distanceto(tod),.001);
     }
     
    /**
      * test the nearestRabbit
      */
     public void testNear()
     {
         Field field = new Field(400,400,0);
         Fox tod = new Fox();
         field.add(tod,0);
         Rabbit reng = new Rabbit();
         field.add(reng,5);
         Rabbit ring = new Rabbit();
         field.add(ring,3);
         Rabbit rong = new Rabbit();
         field.add(rong,6);
         assertEquals(ring,tod.nearestRabbit());
        }
    /**
      * test the nearestRabbit
      */
     public void testNearNull()
      {
          Field field = new Field(400,0);
          Fox tod = new Fox();
          field.add(tod,0);
          assertEquals(null,tod.nearestRabbit());
            }
    /**
      * test the turn()
      */
     public void testTurn()
      {
          Field field = new Field(400,0);
          Rabbit reng = new Rabbit();
          field.add(reng,5);
          Rabbit ring = new Rabbit();
          field.add(ring,1,1);
          Rabbit rong = new Rabbit();
          field.add(rong,6);
          tod.turn();
          assertEquals(45,tod.getRotation(),.001);
      }
    /**
      * test square
      */
     public void testSquare()
      {
          Fox tod = new Fox();
          assertEquals(25,.001);
      }
    /**
      * test the act() method
      */
     public void testAct()
      {
          Field field = new Field(400,0);
          Rabbit ring = new Rabbit();
          field.add(ring,7,7);
          tod.act();
          assertEquals(45,.001);
      }
    /**
     * test the act() method
     */
    public void testActDone()
    {
        Field field = new Field(400,0);
        Fox tod = new Fox();
        field.add(tod,0);
        Rabbit reng = new Rabbit();
        field.add(reng,5);
        Rabbit ring = new Rabbit();
        field.add(ring,1);
        Rabbit rong = new Rabbit();
        field.add(rong,6);
        tod.act();
        List<Rabbit> rabbits = field.getobjects(Rabbit.class);
        assertEquals(2,rabbits.size());
    }
    /**
     */
    public void testTurnNull()
    {
        Field field = new Field(400,0);
        assertEquals(null,tod.nearestRabbit());
        tod.turn();
        assertEquals(0,.001);
    }
}

解决方法

让我猜猜,应该有:

public class Fox {
  private int square(int x) {
    return x * x;
  }
}

应该是

public class Fox {
  public int square(int x) {
    return x * x;
  }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。