use*_*666 0 java junit arraylist
我有一个方法设置为添加用户ArrayList,并返回false添加相同的用户:
public boolean addUser(K pass, V user)
{
if (username.contains(user))
{
return false;
}
else
{
password.add(pass);
username.add(user);
size++;
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
然后我有一个JUnit测试,assertFalse(true)因为这是我的方法在添加两个具有相同名称的用户时返回的:
@Test
public void testAddingTwoOfTheSameUserToArrayList() {
User<String, String> user1 = new User<String, String>();
user1.addUser("password", "SpeedinDave");
user1.addUser("password", "SpeedinDave");
assertFalse(true);
}
Run Code Online (Sandbox Code Playgroud)
但是,测试总是错误(红色条).有任何想法吗?
你应该测试类似的东西:
@Test
public void testAddingTwoOfTheSameUserToArrayList() {
User<String, String> user1 = new User<String, String>();
user1.addUser("password", "SpeedinDave");
assertFalse(user1.addUser("password", "SpeedinDave"););
}
Run Code Online (Sandbox Code Playgroud)
确保第二个addUser()返回false.
assertFalse(b)如果参数b为false,则会成功.所以,如果你通过true,它将永远失败.