zoukankan      html  css  js  c++  java
  • 1. quickstart

    package lesson1_quickstart;
    
    import common.Account;
    import common.AccountDao;
    import common.AccountLoginController;
    import org.junit.Assert;
    import org.junit.Before;
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.mockito.Mockito;
    import org.mockito.runners.MockitoJUnitRunner;
    import javax.servlet.http.HttpServletRequest;
    import static org.mockito.Matchers.anyString;
    import static org.mockito.Mockito.when;
    
    
    @RunWith(MockitoJUnitRunner.class)
    public class AccountLoginControllerTest {
    
        private AccountDao accountDao;
        private HttpServletRequest request;
        private AccountLoginController accountLoginController;
    
        @Before
        public void setUp() {
            accountDao = Mockito.mock(AccountDao.class);
            request = Mockito.mock(HttpServletRequest.class);
            accountLoginController = new AccountLoginController(accountDao);
        }
    
        @Test
        public void testLoginSuccess() {
            when(request.getParameter("username")).thenReturn("cain");
            when(request.getParameter("password")).thenReturn("123456");
    
            Account account = new Account();
            when(accountDao.getAccount(anyString(), anyString())).thenReturn(account);
    
            String login = accountLoginController.login(request);
            Assert.assertEquals("/index", login);
        }
    
        @Test
        public void testLoginFailure() {
            when(request.getParameter("username")).thenReturn("cain");
            when(request.getParameter("password")).thenReturn("123456");
    
            when(accountDao.getAccount(anyString(), anyString())).thenReturn(null);
    
            String login = accountLoginController.login(request);
            Assert.assertEquals("/login", login);
        }
    
        @Test
        public void test505() {
            when(request.getParameter("username")).thenReturn("cain");
            when(request.getParameter("password")).thenReturn("123456");
    
            when(accountDao.getAccount(anyString(), anyString())).thenThrow(UnsupportedOperationException.class);
    
            String login = accountLoginController.login(request);
            Assert.assertEquals("500", login);
        }
    }
    AccountLoginControllerTest
    package common;
    
    import javax.servlet.http.HttpServletRequest;
    
    public class AccountLoginController {
        private AccountDao accountDao;
    
        public AccountLoginController(AccountDao accountDao) {
            this.accountDao = accountDao;
        }
    
        public String login(HttpServletRequest request) {
            final String username = request.getParameter("username");
            final String password = request.getParameter("password");
            try {
                Account account = accountDao.getAccount(username, password);
                if (account == null) {
                    return "/login";
                } else {
                    return "/index";
                }
            } catch (Exception e) {
                return "500";
            }
    
        }
    }
    AccountLoginController
    package common;
    
    public class AccountDao {
        public Account getAccount(String username, String pwd) {
            throw new UnsupportedOperationException("DB is down");
        }
    }
    AccountDao
    package common;
    
    public class Account {
    
    }
    Account
  • 相关阅读:
    适合新手小白的UI学习路线完整版
    UI设计课程教程分享:Banner的设计和技巧
    UI设计:C4D作品案例分享
    还在凭实力单身吗,那是因为你还没学会这项技术
    PS故障风海报制作技术分享
    你真的了解标签栏设计吗?
    来看看N多设计师笔下的Spider Man
    羡慕女设计师啊,天生色感好!
    43. Multiply Strings
    40. Combination Sum II
  • 原文地址:https://www.cnblogs.com/yfzhou528/p/14019478.html
Copyright © 2011-2022 走看看