我想进行一个简单的测试,使用JUnit的Player
方法检查我的类assertEquals
的name属性。当我运行JUnit测试时,出现警告失败(AssertionFailedError:在PlayerTest中找不到测试),我做错了什么?
public class Player {
private String name;
private int id;
public Player(int id){
this.setId(id);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
public class PlayerTest extends TestCase {
@Test
public void NameTest(){
Player player = new Player(1);
player.setName("Roberto");
String name = "Roberto";
assertEquals(name, player.getName());
}
}
答案 0 :(得分:2)
我认为这是因为您编写了一个Junit 3样式测试用例(使用extends TestCase
)而不是注释驱动的Junit 4样式。
这是一个junit 4样式测试看起来像:
import junit.framework.TestCase;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
public class PlayerTest {
@Test
public void NameTest(){
Player player = new Player(1);
player.setName("Roberto");
String name= "Roberto";
assertEquals(name,player.getName());
}
}
编辑:请参阅Sunil的答案,使其以Junit-3风格运行。
答案 1 :(得分:0)
函数名称应以" test"开头。让TestCase了解它是一个运行的测试函数。删除@Test注释。
在这种情况下,请将NameTest()
更改为testName()
。它会起作用。