dirtyhand-tester 极简测试管理系统: 10 分钟第一个功能之增删改查列表
simonpatrick
·
2024年01月10日
·
最后由 测试新人 回复于 2024年01月11日
·
5926 次阅读
最简单功能其实就是一个增删改查表,实现一个系统字典表需要做哪些?
系统字典表主要用来记录一些系统常量:
- 比如什么优先级 P1,P2 这种可以用来配置的东西
- 这个功能是最典型的后台增删改查功能,是学习 erupt 最好的入门案例
先说实现的效果
实现以上内容需要哪些工作:
- 数据库设计?
- 前端?
- 后端?
- 其实只要一个 JAVA 类......, 认真的.......
可以说都需要,也可以说都不需要.
实际上需要做的是:
- 定义一个 JAVA 类和数据库表对应
- 每个需要的页面操作的字段使注解来说明页面如何展示
一个 JAVA 文件一个增删改查页面
package io.fluentqa.workspace.base.model;
import io.fluentqa.workspace.base.handlers.SqlTagFetchHandler;
import lombok.Data;
import xyz.erupt.annotation.Erupt;
import xyz.erupt.annotation.EruptField;
import xyz.erupt.annotation.sub_erupt.Layout;
import xyz.erupt.annotation.sub_erupt.Power;
import xyz.erupt.annotation.sub_field.Edit;
import xyz.erupt.annotation.sub_field.EditType;
import xyz.erupt.annotation.sub_field.View;
import xyz.erupt.annotation.sub_field.sub_edit.InputType;
import xyz.erupt.annotation.sub_field.sub_edit.Search;
import xyz.erupt.annotation.sub_field.sub_edit.TagsType;
import javax.persistence.Entity;
import javax.persistence.Table;
@Erupt(name = "产品字典值配置",
power = @Power(importable = true,
export = true),
layout = @Layout(
tableLeftFixed = 3,
pageSize = 30
))
@Table(name = "master_data")
@Entity
@Data
public class MasterData extends ModelWithValidFlagVo {
@EruptField(
views = @View(title = "分类"),
edit = @Edit(
search = @Search(vague = true),
title = "获取可选种类",
type = EditType.TAGS,
desc = "动态获取可选种类",
tagsType = @TagsType(
fetchHandler = SqlTagFetchHandler.class,
fetchHandlerParams = "select distinct category from master_data where valid=true"
))
)
private String category;
@EruptField(
views = @View(
title = "名称"
),
edit = @Edit(
title = "名称",
type = EditType.INPUT, search = @Search, notNull = true,
inputType = @InputType
)
)
private String name;
@EruptField(
views = @View(
title = "详细描述"
),
edit = @Edit(
title = "详细描述",
type = EditType.INPUT,
inputType = @InputType
)
)
private String detail;
@EruptField(
views = @View(
title = "代号"
),
edit = @Edit(
title = "代号",
type = EditType.INPUT, search = @Search, notNull = true,
inputType = @InputType
)
)
private String code;
}
启动看效果
- 一开始什么也没有
- 进行菜单配置:类型选择和类名一致就可以了
然后前台不够酷炫,但是确实足够可以使用. 这是第一篇关于如何做一个极简测试管理系统.
后续会在加入:
- 测试用例管理
- 接口生命周期管理和接口自动化
- 报表
- 任务管理
- 造数功能
- 。。。。。。。
以上功能实现都不复杂,但是功能都可以实现,并且够用。 基本上 METERSPHERE 的大部分功能都可以快速实现。
视频教程:极简测试管理系统: 10 分钟第一个功能之增删改查列表
这些绝对足够使用和低成本,又能练手,又有产出,说不定还能交差,从做出点东西开始逐步深入一些代码技能,绝对对大部分人都有用,而不像一些理念,是很好,但是做起来很难,也不容易上手 .
示例代码,里面包含了实现代码和环境配置。
下载之后,可以自己启动尝试,一点都不复杂但却能动起手来了。
转载文章时务必注明原作者及原始链接,并注明「发表于 TesterHome 」,并不得对作品进行修改。
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!