接口自动化测试流程是啥样的?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了接口自动化测试流程是啥样的?相关的知识,希望对你有一定的参考价值。
就是使python去实现接口测试,说白了就是写一些测试逻辑。python去写,速度快,简单python也有很多自动化测试相关的工具。roboframework,是一个自动化测试框架,写自动化非常简单。 参考技术A 一般来讲,接口自动化测试流程分为如下几个步骤:1.需求分析
2. 挑选需要做自动化测试的功能
3. 设计测试用例
4. 搭建自动化测试环境[可选]
5. 设计自动化测试项目的架构[可选]
6. 编写代码
7. 执行测试用例
8. 生成测试报告并分析结果
可以去黑马程序员看一下有没有对自己有帮助的学习视频,他们家免费的资源很多,这么多年很有经验很实用。我高中很多同学毕业去黑马学习了,现在在北上广工作,感觉我也想报班去一线看看了。
是啥样的测试?巢穴
【中文标题】是啥样的测试?巢穴【英文标题】:What kind of test is it ? Nestjs是什么样的测试?巢穴 【发布时间】:2021-11-08 09:01:49 【问题描述】:我正在尝试测试我的 nestjs 应用程序,但我不太确定我必须编写什么样的测试,我想测试我的服务,所以为了测试它,我使用了 nestjs 提供的函数 createTestingModule ,这是我的代码
beforeAll(async () =>
const moduleRef = await Test.createTestingModule(
providers: [DeliveryManService],
imports: [
TypeOrmModule.forFeature([UserRepository, DeliveryManRepository]),
PostgresProviderModule,
],
).compile();
service = moduleRef.get<DeliveryManService>(DeliveryManService);
);
但不幸的是,我正在观看其他人的编码,而不是直接使用 typeorm 存储库,他们正在使用模拟来做这些事情,所以我想......
我的测试没用吗?
我应该只使用 mock 而不是 typeorm 提供程序来编写测试吗?
我写了什么样的测试?
编辑这些是我的测试:
it('should be defined', () =>
expect(service).toBeDefined();
);
it('should save and return a new delivery man', async () =>
const deliveryMan = await service.preRegister(preRegister);
expect(deliveryMan).toBeDefined();
expect(deliveryMan.id).toBeDefined();
);
it('should return an array of delivery man', async () =>
const deliveryMans = await service.findAll( page: 1, limit: 100 );
expect(deliveryMans).toBeDefined();
expect(deliveryMans).toBeInstanceOf(Array);
expect(deliveryMans.length).toBeGreaterThanOrEqual(1);
);
【问题讨论】:
以上是一个测试设置,但您并没有显示您的测试实际在做什么。你在这里实际测试什么?看起来像是集成测试的开始,但没有更多信息就很难判断。 很抱歉,我现在就修改。 那些测试实际上是直接调用我的测试数据库,而不是调用模拟或类似的东西 【参考方案1】:如果您有测试实际上与您的数据库对话,那么您就有一个集成测试,即测试您的服务类和数据库之间的集成。通常您要小心这些数量,因为它们需要数据库并且通常会修改该数据库中的数据,这意味着如果配置不正确,您最终可能会修改错误的数据。
单元测试最终会模拟数据库as shown in this repo here。这些测试通常最多只需要几秒钟,而集成测试可能需要更长的时间,因为必须通过线路发送数据才能连接到数据库并检索查询结果。
【讨论】:
谢谢你,杰伊,你的回答会有很大帮助:D以上是关于接口自动化测试流程是啥样的?的主要内容,如果未能解决你的问题,请参考以下文章
Oracle EBS 的接口方式是啥样的?与 DBLINK 有啥不同