Loading [MathJax]/jax/output/CommonHTML/config.js
社区首页 >问答首页 >xcode中性能测试的独立方案

xcode中性能测试的独立方案
EN

Stack Overflow用户
提问于 2018-11-05 23:15:55
回答 1查看 866关注 0票数 1

除了测试代码更加隔离这一事实之外,在Xcode中创建单独的Performance Test scheme (类似于Unit TestUI Test之类的方案)有什么好处吗?是否值得为单个Xcode项目保留3种测试方案?

我想说的是,即使我在相同的单元测试包(方案)中用self.measure{ }块编写了所有性能测试用例,一旦项目增长并在Jenkins中进行持续集成,它会有什么不同吗?

实施Performance testing in Xcode的工业标准是什么?每个人都在同一个单元测试包中进行性能测试吗?为什么为什么不呢?

EN

回答 1

Stack Overflow用户

发布于 2018-11-06 07:02:50

首先,请注意, that target不是一回事:

目标指定要生成的产品,并包含从项目或工作区中的一组文件构建产品的说明。

正如您所说的,当涉及到测试时,目标被用来对一组测试进行分组,即所谓的测试包。有了几个测试目标,您就可以轻松地只运行所有测试用例的一个特定子集。因此,在特定的测试目标中分离性能测试特别有用,因为这些测试通常需要更多的时间来运行。因此,能够只运行更快的单元测试是有用的。

方案定义要构建的目标集合,定义构建时使用的配置,以及要执行的测试集合。

(强调是我的)这里是诀窍,对你的问题的答案是:对于性能测试,有一个专门的方案来运行它们是特别重要的,因为这样可以让你用不同的构建配置构建应用程序。您希望这样做,因为您希望在发布模式下编译您的应用程序,所以您的性能测试运行在优化的构建上。在特定的构建配置中内置应用程序的方案

准确地说,对于性能测试,您需要添加一个与发行版类似的新构建配置,但需要启用“启用可测试性”构建标志。这种“启用可测试性”是测试链接到您的应用程序所必需的。因此,在您的项目中,您将有3种构建配置: Release和PerformanceTests。

3构建配置映像

启用可测试映像

另一方面,通过单元测试,您希望在调试模式下编译应用程序,因此可以设置断点来调试失败的测试。

还请注意,由于您要在方案中添加自定义配置,所以让它们共享是个好主意,所以每个为您的项目做出贡献的人都有相同的配置。

您可以在SwiftGraph项目中看到所有这些操作。更具体地说,这是在此承诺中实现的。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53167318

复制
相关文章
Spring Cloud Task 核心组件-Task Application
Spring Cloud Task是Spring Cloud生态系统中的一个重要组件,用于支持有状态的短暂任务的开发和执行。
堕落飞鸟
2023/04/16
6111
Spring Cloud Task 核心组件-Task Repository
Spring Cloud Task是一个用于构建简单任务的框架。它提供了Task Application、Task Launcher和Task Repository三个核心组件,分别用于定义和执行任务、启动和管理任务、以及存储任务相关的元数据和状态信息。其中,Task Repository是Spring Cloud Task的核心组件之一,它负责管理和存储任务相关的数据。
堕落飞鸟
2023/04/16
2880
【C# 基础精讲】Task和Task<T>的应用
当涉及异步编程时,Task 和 Task<T> 是C#中的重要概念。它们不仅是处理异步操作的关键类型,还提供了一些强大的功能和方法,使异步编程更加高效和灵活。在本文中,我们将深入探讨 Task 和 Task<T> 的应用,从创建、执行、等待到取消和异常处理等方面进行详细讨论,帮助您更好地理解如何在C#中应用这些类型。
繁依Fanyi
2023/10/12
7310
【C# 基础精讲】Task和Task<T>的应用
Spring Cloud Task 核心组件-Task Launcher
Spring Cloud Task是一个用于快速创建和执行短暂任务的框架。Task Launcher是Spring Cloud Task的另一个核心组件,它可以帮助我们在多个环境中部署和执行Task Application。
堕落飞鸟
2023/04/16
7941
Spring Cloud Task 核心组件-Task Explorer
在使用Spring Cloud Task时,我们通常需要查看已经执行的任务以及任务的执行状态等信息。而Task Explorer正是为我们提供了这些信息的组件。
堕落飞鸟
2023/04/16
5610
Spring Cloud Task 核心组件-Task Execution Listener
Spring Cloud Task是一个用于构建简单任务的框架。它提供了Task Application、Task Launcher、Task Repository等多个核心组件,分别用于定义和执行任务、启动和管理任务、以及存储任务相关的元数据和状态信息。其中,Task Execution Listener是Spring Cloud Task的核心组件之一,它用于监控和管理任务的执行过程。
堕落飞鸟
2023/04/16
6301
C++核心准则T.65:使用标签分发提供函数的不同实现
T.65: Use tag dispatch to provide alternative implementations of a function
面向对象思考
2020/09/21
1K0
C++核心准则T.64​:使用特化提供类模板的不同实现
T.64: Use specialization to provide alternative implementations of class templates
面向对象思考
2020/09/21
6740
Task和backStack(本篇章核心)
摘要总结:通过分析Task和backStack的关系,可以得出一个task内可以有多个Activity,一个Task也可以对应多个Process。同时,通过adb shell dumpsys activity命令可以观察到,一个Task内的Activity可以属于同一个App,也可以属于不同的App。通过学习源码,可以发现,在ActivityManagerService中,Task被封装成TaskRecord对象,每个Task对应一个TaskStack,每个TaskStack包含一个mHistory Stack。在mHistory Stack中,每个元素都是一个ActivityRecord对象,ActivityRecord对象通过TaskRecord与对应的Task关联,通过Activity info与对应的Activity关联。同时,同一个Task内的ActivityRecord在mHistory中会按照先入先出的顺序进行排序。
梦里茶
2017/12/29
5740
Task和backStack(本篇章核心)
T-SQL取时间的不同方法
超级实用的T-SQL取时间的不同方法 CONVERT(nvarchar(10),count_time,121): CONVERT为日期转换函数,一般就是在时间类型 (datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)相互转换的时候才用到的函数的3个参数,第1个参数为,转换后的大小,第2个为转换日期的字段或函数,第3个为转换的格式,具体如下: 0 | 0 or 100 | mon dd yyyy hh:miAM(或PM) 1 | 101 |
用户1719978
2018/07/05
5970
T24银行核心业务系统
http://www.pianshen.com/article/8248107255/
全栈程序员站长
2022/09/20
1.2K0
通过JavaScript实现HTTP到HTTPS的强制跳转 By HKL,
最近通过一些在线文件云空间测试云存储部署静态网站遇到HTTP到HTTPS的强制跳转的问题,平时通过nginx配置是比较简单实现的, 但是例如七牛云虽然可以设置HTTPS访问,但是不支持设置HTTP到HTTPS的强制跳转, 解决方法可以是先通过设置HSTS,通过浏览器级的强制跳转实现,但是本方法只能在webkit内核的浏览器上生效,而且由一定的时间差, 所以最后寻找到通过前端JavaScript脚本实现HTTP到HTTPS的强制跳转,代码如下
hiplon
2020/07/22
1.8K0
阻塞队列的核心方法&对阻塞的不同处理
阻塞队列,顾名思义,首先它是一个队列,而一个阻塞队列在数据结构中所起的作用大致如下图所示:
名字是乱打的
2022/05/13
6920
阻塞队列的核心方法&对阻塞的不同处理
从T+1到T+0,浅谈PetaBase的实时流式处理
随着互联网+的进一步发展,各行业对大数据技术的应用日趋成熟,企业的信息化范围正在高速扩展。
数据狗忙忙忙
2019/08/13
2.5K0
从T+1到T+0,浅谈PetaBase的实时流式处理
【leetcode刷题】T156-不同路径
https://leetcode-cn.com/problems/unique-paths/
木又AI帮
2019/09/03
2940
PHP实现根据请求的域名跳转到不同目录 By HKL, T
使用一些PHP虚拟主机的时候,多个域名绑定到同一空间下,但是希望不同域名能通过不同目录实现访问不同网站的效果:
hiplon
2020/07/22
2.3K0
Locust性能测试工具核心技术@task和@events
Tasks和Events是Locust性能测试工具的核心技术,有了它们,Locust才能称得上是一个性能工具。
dongfanger
2021/06/10
4590
生成代码,从 T 到 T1, T2, Tn —— 自动生成多个类型的泛型
发布于 2018-01-31 05:38 更新于 2018-05-25 12:33
walterlv
2018/09/18
1.4K0
生成代码,从 T 到 T1, T2, Tn —— 自动生成多个类型的泛型
从1.6T光模块到51.2T交换芯片,寡头的狂欢!
400G网络设备产业现状:完结篇 800G网络设备产业现状:技术篇 800G网络设备产业现状:芯片篇 800G网络设备产业现状:思科篇 800G网络设备产业现状:光模块篇 当诺基亚这种老厂 都说400G已经到了拐点 那就代表400G已经是池中物 因此在早前 结束的OFC2021 800G技术成为国内外 各大光模块厂商的主战场 华安证券 在会议结束后推出的 通信行业周报对800G现状 做了一个简单明了的梳理总结 除了高端光模块 相关产业链的进展 报告将重心放在数据中心 因为以太网光模块将占
用户6874558
2023/02/15
1.2K0
从1.6T光模块到51.2T交换芯片,寡头的狂欢!
Spark Task 的执行流程② - 创建、分发 Task
task 的创建本应该放在分配 tasks 给 executors一文中进行介绍,但由于创建的过程与分发及之后的反序列化执行关系紧密,我把这一部分内容挪到了本文。
codingforfun
2018/08/24
7250
Spark Task 的执行流程② - 创建、分发 Task

相似问题

await Task<T>和Task<T>.Result有什么不同?

23

IAsyncEnumerable<T>和IEnumerable<Task<T>>有什么不同?

232

ASP.NET核心应用编程接口- ActionResult<T>与异步Task<T>

20

将Task<DbSet<T>>转换为Task<IEnumerable<T>>

36

不等待从EF核心查询返回Task<IReadOnlyCollection<T>>?

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档