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
  • 相关阅读:
    jQuery 插件为什么要return this.each()
    Android中TextView setText int 报错
    局部打印插件 jquery.PrintArea.js
    Jdbc Url 设置allowMultiQueries为true和false时底层处理机制研究
    mysql-unsha1:在未知密码情况下,登录任意MYSQL数据库
    Wireshark实战之抓包MySQL Java客户端
    linux 文件句柄数查看命令
    Java1.8 JDK源码中,对两个类进行 按位与 操作是什么意思
    linux下面覆盖文件,如何实现直接覆盖,不提示
    比特币算法——SHA256算法介绍
  • 原文地址:https://www.cnblogs.com/yfzhou528/p/14019478.html
Copyright © 2011-2022 走看看