首页
学习
活动
专区
圈层
工具
发布

做了一个Nest.js上手项目,很丑,但适合练手和收藏

...'); const connection = await createConnection(ormConfig); const userRepository = connection.getRepository...=127.0.0.1 TYPEORM_PORT=3306 TYPEORM_USERNAME=root TYPEORM_PASSWORD=123456 TYPEORM_ENTITIES=dist/**/*...我的 测试策略 不一定正确,只能说是我目前想到比较好的 测试策略 对 TodoService 进行测试,比较难的点是对 TypeOrm 的 Repository 进行 Mock,这玩意我自己搞了一整天才搞通...TodoController 的单元测试,我觉得这个 class 没什么可测的,因为里面的函数太简单了: const { mockTodos, mockUsers } = createMockDB();...如果你对 Nest.js 也感兴趣,也想学一下它,不妨 Clone 一下我的 nest-todo 这个项目,抄抄改改学一下吧。

5.2K42
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    做了一个Nest.js上手项目,很丑,但适合练手和收藏

    ...'); const connection = await createConnection(ormConfig); const userRepository = connection.getRepository...=127.0.0.1 TYPEORM_PORT=3306 TYPEORM_USERNAME=root TYPEORM_PASSWORD=123456 TYPEORM_ENTITIES=dist/**/*...我的 测试策略 不一定正确,只能说是我目前想到比较好的 测试策略 对 TodoService 进行测试,比较难的点是对 TypeOrm 的 Repository 进行 Mock,这玩意我自己搞了一整天才搞通...TodoController 的单元测试,我觉得这个 class 没什么可测的,因为里面的函数太简单了: const { mockTodos, mockUsers } = createMockDB();...如果你对 Nest.js 也感兴趣,也想学一下它,不妨 Clone 一下我的 nest-todo 这个项目,抄抄改改学一下吧。

    3.7K30

    如何物业管理(园区式)系统的房屋及设备设施板块?(附架构图+流程图+代码参考)

    开发技巧:编码规则统一(如 EQ-CampusB1-0001),code 列唯一并索引;图片保存在对象存储,DB 只存路径;支持批量导入/导出。...业务流程:保养计划触发→ 保养人员执行并记录→ 如发现异常生成工单→ 更新下次保养周期或调整计划。...开发技巧:对定期保养使用专门调度服务;保养记录绑定备件出库,自动扣减库存并计成本;保养完成写入设备生命周期日志。五、关键实现建议索引与分区:巡检/维修历史量大,采用时间分区或按月分表。...r.json()).then(console.log);在这里我给大家推荐一个业务人员就能够直接上手的高性价比、零代码平台——简道云物业管理系统,简道云物业管理系统将各部分收集到的数据信息汇总在数据报表,对运营...、设备、值班和行政办公情况进行直观展示,便于管理人员处理工作。

    38310

    基于 Nest.js+TypeORM 实战,项目已开源,推荐!

    接下来探索一下如何用TypeORM创建一对一、一对多和多对多的关系。 一对一 一对一指的是表中一条数据仅关联另外一个表中的另一条数据。例如用户表和用户档案表, 一个用户只有一份档案。...我们在TypeORM中如何实现user表和info之间这种对一对的关系呢?...处理多对多的方式是,将其转化为两个一对多的关系: 文章表 post 与 中间表 post_tag 一对多 标签表 tag 与中间表 post_tag 也是一对多 小结 前面我们学习了TypeORM 中是如何处理一对一...根据分类id获取分类 const categoryDoc = await this.categoryService.findById(category); // 根据传入的标签id,如...} from "typeorm"; const user = await getRepository(User) .createQueryBuilder("user") .where(

    12.5K41

    一杯茶的时间,上手 Koa2 + MySQL 开发

    ❞ 凭借精巧的“洋葱模型”和对 Promise 以及 async/await 异步编程的完全支持,Koa 框架自从诞生以来就吸引了无数 Node 爱好者。...可以看到,Koa 实际上对标的是 Connect[10](Express 底层的中间件层),而不包含 Express 所拥有的其他功能,例如路由、模板引擎、发送文件等。...mysql typeorm reflect-metadata 然后在项目根目录创建 ormconfig.json ,TypeORM 会读取这个数据库配置进行连接,代码如下: // ormconfig.json...❞ 在 Controller 中操作数据库 然后就可以在 Controller 中进行数据的增删改查操作了。...内容很多,希望对你有一定的帮助。我们的用户系统已经能够处理大部分情形,但是对于一些边际情况的处理依然很糟糕(能想到有哪些吗?)。不过话说回来,相信你已经确定 Koa 是一个很棒的框架了吧?

    4.1K40

    如何开发人事及OA管理系统的日报、周报管理板块?(附架构图+流程图+代码参考)

    日志与审计需要保留一定周期(如 1 年),并支持导出。灾备:数据库备份、对象存储快照、消息队列持久化策略。...} from 'typeorm';import { User } from '...../lib/queue';import { getRepository } from 'typeorm';import { ReportReminder } from '.....对于跨部门或全员必填的报告,可以把“未提交名单”直接展示给直属主管,由主管二次跟进,这样既减少了对员工的直接骚扰,又能保证管理层有触达手段。...模板用 JSON Schema 描述字段类型、是否必填、选项列表与校验规则,前端根据 Schema 渲染表单并在提交时进行校验。模板需要版本管理,避免模板变更后导致历史数据解析异常。

    54810

    如何开发一套ERP(离散制造-MTO)系统(附架构图+流程图+代码参考)

    对关键物料支持安全库存和交期缓冲管理。对长期外协加工,应与外协订单模块集成。库存管理职责:库存账、批次/序列号管理、在途、占用与可用量(ATP)、仓储作业(入库/出库/调拨)。...要点:MTO 常有“订单占用”场景:在生产前便对关键件进行占用或冻结。支持批次/序列号追溯,满足质量与召回要求。与采购、生产紧密联动:采购到货触发质检入库,生产完工触发入库。...要点:对 MTO,按单核算成本很重要(按订单/批次计算毛利)。集成总账与固定资产模块,支持成本分摊与完工入账(WIP 处理)。...测试:建立领域单元测试、集成测试、合同测试(Consumer-Driven Contract)来保证微服务兼容。...对于设计频繁变更的企业,推荐与 PLM 系统深度集成,并在 ERP 里保留 BOM 快照和变更日志,质检与财务也能依据不同版本进行成本与质量分析。落地建议先做业务建模、画清楚边界,不要急着编码。

    46312

    学完这篇 Nest.js 实战,还没入门的来锤我!(长文预警)

    @Controller 如每一个要成为控制器的类,都需要借助@Controller装饰器的装饰,该装饰器可以传入一个路径参数,作为访问这个控制器的主路径: 对app.controller.ts文件进行修改...'; import { getRepository, Repository } from 'typeorm'; import { PostsEntity } from '....这样体验非常不好, 很可能前端就怀疑我们接口写错了,所有我们应该对异常进行一定的处理。 数据验证 怎么实现呢?...管道有两个类型: 转换:管道将输入数据转换为所需的数据输出 验证:对输入数据进行验证,如果验证成功继续传递; 验证失败则抛出异常; 管道在异常区域内运行。...什么意思呢, 通俗来讲就是,对请求接口的入参进行验证和转换的前置操作,验证好了我才会将内容给到路由对应的方法中去,失败了就进入异常过滤器中。

    18.5K86

    如何开发门店业绩上报管理系统中的商品数据板块?(附架构图+流程图+代码参考)

    /api/products/import:上传导入文件 -> 触发预检任务POST /api/products/import/confirm:确认导入写入主表要点:校验层与服务层分离,业务逻辑放服务层对写操作使用...} from 'typeorm';import { Product } from '....// 提示临时商品流程 } });12.6 示例:导出商品为 CSV(Node.js)import { getRepository } from 'typeorm';import {...增量导入应确保幂等(以 SKU 为键进行 upsert)。FAQ3:门店上报如何保证商品选择的标准化,避免门店用自由文本?...对于确实找不到的商品(如临时售卖品),提供“临时商品”流程:临时商品先在客户端以临时记录的方式提交,后台触发管理员审批,审批通过后生成正式 SKU 并通知门店,否则被回退修改。

    34710

    学完这篇 Nest.js 实战,还没入门的来锤我!(长文预警)

    @Controller 如每一个要成为控制器的类,都需要借助@Controller装饰器的装饰,该装饰器可以传入一个路径参数,作为访问这个控制器的主路径: 对app.controller.ts文件进行修改...'; import { getRepository, Repository } from 'typeorm'; import { PostsEntity } from '....这样体验非常不好, 很可能前端就怀疑我们接口写错了,所有我们应该对异常进行一定的处理。 数据验证 怎么实现呢?...管道有两个类型: 转换:管道将输入数据转换为所需的数据输出 验证:对输入数据进行验证,如果验证成功继续传递; 验证失败则抛出异常; 管道在异常区域内运行。...什么意思呢, 通俗来讲就是,对请求接口的入参进行验证和转换的前置操作,验证好了我才会将内容给到路由对应的方法中去,失败了就进入异常过滤器中。

    12.2K11

    super-jacoco源码分析与二次开发

    在第一篇文章super-jacoco单元测试覆盖率度量实践-1中,笔者介绍了Super-Jacoco的单元测试覆盖率统计只要向Super-Jacoco服务发送如下的一个post请求 启动覆盖率收集 URL...在本文中,笔者将结合Super-Jacoco的源码进行分析介绍上述功能是如何实现的,并结合实际项目介绍对Super-Jacoco的增量改动。...我们知道,在命令行中,可以通过类似如下的方式获取到两个SHA,如commitID或者branch之间的代码差异。...对Super-Jacoco的改造以适应代码库结构 场景 在单元测试覆盖率统计的场景中,Super-Jacoco使用了检出代码库后,自行编译执行单测用例的方式来获取覆盖率数据。...为了能让这种代码结构的项目也能使用Super-Jacoco,笔者对其进行了一个简单的改造。

    4.1K30

    Vue 应用单元测试的策略与实践 04 - Vuex 单元测试

    如何对 Vuex 进行单元测试 得益于 Vuex 能够将 Vue 应用的共享状态进行隔离,我们的代码也因此变得更加结构化且易于维护,Vuex 中的 mutation、action 和 getter 都被放在了合理的位置...,承担不同的职责 ,这也使得对它们进行单元测试变得容易很多。...接下来就来聊聊如何用 Vue Test Utils 测试 Vue 组件中的 Vuex。...未完待续…… ## 单元测试基础 ### 单元测试与自动化的意义 ### 为什么选择 Jest ### Jest 的基本用法 ### 该如何测试异步代码?...架构 ### 如何对 Vuex 进行单元测试 ### Vue组件和Vuex store的交互 ## Vue 应用测试策略 ### 单元测试的特点及其位置 ### 单元测试的关注点 ### 应用测试的测试策略

    1.9K30

    干货 | 携程租车React Native单元测试实践

    七、Jest 异步测试 Jest单元测试是同步的,因此面对异步操作如fetch获取数据,需要进行异步的模拟测试。...首先,对fetch函数进行mock: const cityInfo = { 1: '北京', 2: '上海' } export default function fetch(url,...expect(data).toEqual('北京'); }); 八、Enzyme 组件测试 import { mount, shallow, render } from ‘enzyme'; Enzyme对测试组件进行渲染分为三种...这对于隔离组件进行纯单元测试很有用,效率高,可以进行模拟交互,并且从Enzyme 3开始也可以访问组件生命周期,所以一般组件测试用shallow即可。 mount:完整渲染,包括其子组件。.../pages/List/action'; const middlewares = [thunk]; //引入redux-mock-store 对store进行mock const mockStore

    7.6K30

    提高代码质量——使用Jest和Sinon给已有的代码添加单元测试

    现在,我们可以使用单元测试来提高自己的代码质量。下面,我将自己在使用Jest和Sinon.js配置和编写单元测试中的收获的经验和踩到的坑进行总结,根据从零开始配置和编写单元测试这一条线来进行分享。...Jest与Sinon.js是什么 Jest是FaceBook推出的一个针对JavaScript进行单元测试的库,它提供了断言、函数模拟等API来对你自己编写的业务逻辑代码进行测试后。...它能满足日常的普通需求如utils工具集的测试,也能够配置Sinon.js来进行HTTP模拟测试。...而对于其他的测试框架如:Mocha或者Chai等,没有进行具体的了解,因此在这里不多做评价。 如何配置Jest与Sinon.js,从而编写单元测试?...这两种方式都很简单,下面我们对两种方式进行具体的介绍。详细内容可以见Jest文档中的测试异步代码。

    4.9K00

    精读《Prisma 的使用》

    Prisma Schema Primsa Schema 是在最大程度贴近数据库结构描述的基础上,对关联关系进行了进一步抽象,并且背后维护了与数据模型的对应关系,下图很好的说明了这一点: 可以看到,几乎与数据库的定义一模一样...我们可以利用中间件拓展业务逻辑或者进行操作时间的打点记录。...ORM 容易引发性能问题 当数据量大,或者性能、资源敏感的情况下,我们需要对 SQL 进行优化,甚至我们需要对特定的 Mysql 的特定版本的某些内核错误,对 SQL 进行某些看似无意义的申明调优(比如在...而 ORM 是建立在一个较为理想化理论基础上的,即数据模型可以很好的转化为对象操作,然而对象操作由于屏蔽了细节,我们无法对 SQL 进行针对性调优。...不过对于记录的创建,我更喜欢 Prisma 的 API: // typeorm - save API const userRepository = getManager().getRepository(

    4.4K30
    领券