我对使用Bluej非常陌生,但目前正在从事涉及测试类和继承的任务。我目前遇到的测试课程是Coach。有人说Coach是一个不兼容的类型,不能转换为java.lang.String。

因为我是个新手,所以我不确定自己尝试过的内容是否正确,但是我尝试过更改代码的格式,并将其添加到代码本身的其他位置。

public class CoachTest extends junit.framework.TestCase
{
   private String Coach;
   Private String coach1;

   public void setup()
   {
      coach1 = new Coach("Amy Blunt", "0004");
   }

   /**
   * Tears down the test fixture.
   *
   * Called after every test case method.
   */
   protected void teardown()
   {
   }

   public void testGetName()
   {
     assertEquals("Amy Blunt", coach1.getName());
   }

   public void testMembership()
   {
     assertEquals("0004", coach1.getMembership());
   }
}


我希望它在通过测试时能够正确显示成员编号和名称。

发生了三种错误消息,一种是“不兼容的类型:教练不能转换为java.lang.String”,它以public void setup()为中心。下一个是“找不到符号-方法getName()”,它以公共无效的testGetName()为中心,并且此公共无效的getMembership具有相同的错误。

最佳答案

您将coach1声明为String,而不是Coach。另外,在最上面的行中有一个定义,说明“私有字符串教练”是没有意义的,因为它是一个类,而不是变量名,而且似乎有多余的括号(至少在您的示例中)。

这是固定代码:

public class CoachTest extends junit.framework.TestCase {

   private Coach coach1;


   public void setup()

   {

      coach1 = new Coach("Amy Blunt", "0004");

   }

   /**
   * Tears down the test fixture.
   *
   * Called after every test case method.
   */

   protected void teardown()

   {

   }

   public void testGetName()

   {

     assertEquals("Amy Blunt", coach1.getName());

   }

   public void testMembership()

   {

      assertEquals("0004", coach1.getMembership());

   }
}


希望这对您有所帮助!

10-08 04:54