UserAdmin
데이터베이스 클래스에 종속성이 있는 클래스를 테스트해야합니다 . 클래스를 테스트하기 위해 데이터베이스 클래스를 조롱했습니다 UserAdmin
. 데이터베이스 클래스에는 isAdmin()
사용자가 관리자인지 여부를 결정 하는 방법 이 있습니다. UserAdmin
클래스라는 방법이있다 removeUser()
나는이 오류를 얻고있는합니다. 이 removeUser()
메서드는 사용자가 관리자 인 경우 사용자를 제거 할 수 없습니다. 다음은이 오류가 표시되는 코드입니다.
@Test
//testing remove user method of UserAdmin - remove Admin
public void testremoveUserAdmin() throws SQLException{
new Expectations() {{
dBConnection.isAdmin("admin");
times=1;
result = true;
}};
assertEquals(false,userAdmin.removeUser("admin"));
위를 넣으면 assertEquals()
누락 된 호출 오류가 발생하지만 어설 션에서 false를 true로 바꾸면 expected true이지만 false라고 말합니다. 이 오류가 어디서 발생하는지 잘 모르겠습니다. 유사한 방법으로 유사한 코드가 isAdmin()
정상적으로 작동했습니다. 도와주세요
나를 위해 잘 작동합니다.
public class UserAdminTest {
static class DBConnection { boolean isAdmin(String userName) { return false; } }
static class UserAdmin {
boolean removeUser(String userName) {
DBConnection dbConnection = new DBConnection();
if (!dbConnection.isAdmin(userName)) {
// remove user
return true;
}
return false;
}
}
@Tested UserAdmin userAdmin;
@Mocked DBConnection dBConnection;
@Test
public void doesNotRemoveUserWhenAdmin() throws Exception {
new Expectations() {{ dBConnection.isAdmin("admin"); result = true; }};
boolean removedIt = userAdmin.removeUser("admin");
assertFalse(removedIt);
}
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다