Tag: Bdd开发

iOS测试的一些有用的提示和技巧

在为iOS开发的那些年里,我一直不愿意在我的应用程序上使用测试。 我不认为这是必要的,并且还认为这样做会浪费我的大量开发时间。 但是,反复进行手动测试和错误修复使我有了新的工作机会。 结果不只是正面的,但我不得不承认,开始并不容易。 由于这是进行开发的一种新方法,因此在编写代码之前,我们必须更改思维方式。 在这篇文章中,我将告诉您我们如何在LateralView中工作,为我们开发的应用程序创建测试。 工具类 Xcode有自己的框架来编写测试,但是我更喜欢使用一个友好的库来促进BBD。 它的名字叫Quick,它是Swift和Objective-C的一个行为驱动的开发框架。 我用于测试创建的另一个工具是OHHTTPStubs,这是一个旨在非常轻松,非常有用地对网络请求进行存根的库。 要测试什么? 添加到模型中的每个功能都是测试的目标。 特别是,我喜欢从用户的角度测试动作的完整行为。 这就是BDD所讲的,这也是我创建测试所依赖的过程。 按照这个原则,我不会测试激活按钮的特定功能,而是在用户按下按钮后测试应用程序的最终状态。 改变我们开始开发应用程序功能的方式非常重要。 总是最好: 编写测试 执行测试 等待测试失败(因为尚未编码解决方案) 编码解决方案 为测试编写足够的代码以使其正常工作 如我之前所说,BDD的主要思想是测试应用程序的行为。 这意味着我们将不匹配函数的结果或模型对象的属性。 相反,我们将专注于为用户提供可见和有形的元素。 我们将根据用户在应用程序上的实际响应以及响应后的最终状态进行测试。 斑点结构 BDD为编写测试提出了一种更具叙述性的语法。 第一组测试是Spec,通过使用Quick,其结构如下: 对于测试用例的语法,更重要的块是它 , describe和beforeEach 。 它的功能是代表接受标准以验证所需的最终状态。 describe块使我们可以指定场景并将测试序列分组。 例如,可以将它们分组,因为它们共享相同的初始设置。 此设置可以写在另一个重要的块中: beforeEach ,这是将在每个代码之前执行的代码,并包含第一个describe所包含的describe块。 有关“快速”功能的更多信息,请转到“带有快速示例和示例组的有组织的测试”。 期望功能是负责验证期望结果的功能,它将向我们显示测试是否成功。 如果您想了解更多关于Expect函数的用法,请查看Nimble的github。 一个例子 在此示例中,产品所有者请求一个带有电子邮件和密码输入的登录屏幕。 它应确认电子邮件有效,否则应在标签中显示错误消息。 它还具有一个导航到“注册”屏幕的按钮。 这是一个非常基本的示例,但足够有趣,可以从测试和BDD领域入手。 在beforeEach块(1)中,我们编写代码以初始化将要测试的导航控制器和视图控制器。 第一个测试是应该显示错误消息的测试,如描述所指示(2),我们模拟用户按下登录按钮而不填写电子邮件字段。 然后,在it块(3)中,我们使用断言来演示应用程序的行为。 在此示例中,我们希望标签的文本等于“无效的电子邮件”。 另一个简单的示例是测试,该测试包括在发生某些情况后导航到另一个屏幕。 在这种情况下,我们希望应用程序在用户按下注册按钮(4)之后进入注册屏幕。 为此,我们在beforeEach函数中模拟按钮的TuchUpInside事件。 在it块中,我们必须使用类匹配器beKindOf断言topViewController等于期望的类( […]

MVVM和Clean Archi如何帮助使用BDD方法

我们将尝试演示MVVM和Clean Archi如何帮助以BDD方法进行开发(行为驱动开发)。 该示例源代码可在此GitHub存储库上找到。 本杰西/计算器 计算器–具有BDD,Clean Archi和RxSwift的示例github.com 好的方法是从用户需求和示例映射开始。 我们将使用一个非常简单的示例来描述一个附加项。 通过这个非常简单的示例,我们试图证明MVVM / Clean Archi / RxSwift概念不仅有助于使用BDD,它们也是有教益的。 使用这种严格的方法,我们必须思考:一些输入,一个转换函数和一些输出:有助于我们清楚地识别不同的步骤。 现在我们不再问自己:我可以在哪里使用测试以及必须测试哪些类…… 请享用 ! 😉

MVVM et Clean Archi peuvent cadrer l’approche BDD

MVVM和Clean Archivent faciliter和cadrer la mise场所的简单示例说明BDD(行为驱动的开发)。 Github上的所有消息来源: 本杰西/计算器 计算器– BDD和带有Cucumberish和RxSwift的Clean Archi github.com 倒入开胃菜,不添加任何示例性的调味品即可。 例举者,蒙特维尔评论MVVM / Clean Archi / RxSwift peuvent faire plus ques’intégrerparfaitement dans unedémarcheBDD: il sontmêmedidactiques。 结构化教学方法,实体入门方法,转换等方法,基本原理以及可识别的标记。 Il n’y a donc plus 吹捧审讯: oùdois-je places mes测试,quelles sont les长沙发que je dois traverser… 请享用 ! 😉 原则上对地方和地方的保护的原则: AXA Banque Dans L’App Store 咨询与比较,实用工具的注释,视觉捕捉德克兰与德古弗雷斯的AXA Banque… itunes.apple.com

测试仪或方案接口BDD和体系结构MVVM

在应用程序界面上倒入测试仪,在界面上进行测试时应遵循的原则,或者在最佳方式下可以使用此方法。 检验界面的刚度,强度和脆弱性 。 借用:解决方案选择的技巧,未经测试的临时执行子接口。 Ils nesont pas force与工业化完全兼容(例如:une executiondéclenchéeau commit)。 德,法执业者和劳力士。 僵化 : 更改设备的测试界面,维护时间不长。 脆弱 :经验丰富,执行力十足,而詹姆斯·加兰蒂则无能为力。 最好的解决方案,最好的方法是合理的使用。 识别和测试双重接口的界面(KeyFeature) 。 Ces parcourscléssont la raison d’êtrede votre应用程序。 倒入商业应用程序:测试或测试面板。 在界面上倒入测试器,并在其他可信任的地方使用BDD( 行为驱动开发 )。 一流的测试人员和界面的测试人员 ,快速和强大的测试人员,可以很好地融合各种测试方法 ,以方便地定位和应用这种界面。 联盟架构MVVM ,最简便的BDD接口测试仪。 Un BDD peut tester la dynamique UI: d’un change de de couleur ou d’image 禁忌的立场 d’un segue ou de l’apparition d’un弹出窗口 […]