项目实战之使用mock实现用户登陆

1.安装mock

npm i mockjs

2.登陆接口

//src/mock/index.ts
import Mock from 'mockjs';

Mock.setup({
    timeout: '200-2000'
})

//设置拦截路径
//mock中有三个方法:分别是  拦截路径的正则表达式,请求的方法,  和响应数据的函数
// Mock.mock(/\/api\/register/,'get',homeApi.getHomeData);

//测试接口
Mock.mock(/\/api\/test/, 'get', (req: any) => {
    console.log(req);
    return {
        code: 200,
        data: {
            msg: 'mock测试成功'
        }
    }

})

//登陆接口
Mock.mock(/\/api\/login/, 'post', (req: any) => {
    // req.body 指代请求体中的内容
    console.log(req.body);
    // 测试接口  可以删掉了
    // return {
    //     code: 200,
    //     data: {
    //         msg: 'mock测试登陆成功'
    //     }
    // }

    //定义账号池 相当于数据库中的用户表
    const userPools = [
        { name: 'laoc', password: 123456 },
        { name: 'xchen', password: 123456 },
        { name: 'admin', password: 123456 },
        { name: 'lucy', password: 123456 },
    ];

    //把name和password 通过结构复制 从请求体中解构出来 用来做判断 看用户名是否正确
    // 正确的判断 就是看和账号池内的数据是否匹配
    const { name, password } = JSON.parse(req.body);
    // console.log(name, password);

    //过滤数据池  判断和输入的用户名是否匹配
    const userLength = userPools.filter(item => {
        //如果过滤时候 其中一项的name  和我们输入的name一直 就把这一项数据返回给userLength
        return item.name == name;
    })
    // console.log(userLength);
    //判断userLength的长度 如果为0 说明用户名不在数据池内 即不存在
    // 否则 说明用户名存在 接着判断密码
    if (userLength.length > 0) {
        // 用户名存在 接着判断密码
        //  等号后面的password 使我们解构出来用户提交的password
        if (userLength[0].password == password) {
            return {
                code: 200,
                data: {
                    msg: '登陆成功'
                }
            }
        } else {
            return {
                code: -1,
                data: {
                    msg: '密码输入错误'
                }
            }
        }
    } else {
        return {
            code: -1,
            data: {
                msg: '用户名不存在'
            }
        }
    }

})
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Mock测试是一种基于行为的测试方法,它可以在不需要真实依赖的情况下测试代码的某些行为。在Java中,我们可以使用Mockito框架来实现Mock测试。下面是一个简单的Mock测试实现流程以及代码讲解: 1. 添加Mockito依赖 在你的项目中添加Mockito依赖。如果你使用Maven,可以在pom.xml文件中添加以下代码: ``` <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <version>3.9.0</version> <scope>test</scope> </dependency> ``` 2. 创建需要测试的类 假设你有一个Calculator类,它有一个add方法用于两个数字相加,代码如下: ```java public class Calculator { public int add(int a, int b) { return a + b; } } ``` 3. 创建测试类 创建一个CalculatorTest类来测试Calculator类的add方法,代码如下: ```java import static org.mockito.Mockito.*; import org.junit.Test; public class CalculatorTest { @Test public void testAdd() { Calculator calculator = mock(Calculator.class); when(calculator.add(2, 3)).thenReturn(5); assertEquals(calculator.add(2, 3), 5); } } ``` 4. 编写测试方法 在测试方法中,我们首先创建一个Mock对象。Mockito提供了mock方法来创建Mock对象。我们可以使用Mockito的when方法来指定Mock对象的行为。在这个例子中,我们指定当调用calculator.add(2, 3)时,应该返回5。在最后一行代码中,我们使用assertEquals来验证add方法是否返回了我们期望的结果。 5. 运行测试 现在我们可以运行测试方法并查看结果。如果一切正常,我们应该会看到测试通过的消息。 以上就是Java中使用Mockito框架进行Mock测试的基本流程和代码讲解。Mock测试可以帮助我们更方便地进行单元测试,提高代码质量和可维护性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值