我对使用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());
}
}
希望这对您有所帮助!