茄子:Clojure的行为驱动开发(BDD)库。
简单是关键
2025/1/18 7:26:57 9KB clojure data-driven bdd bdd-specs
1
作者:[英]MattWynne/[挪]AslakHellesy出版社:人民邮电出版社原作名:TheCucumberBook:Behaviour-DrivenDevelopmentforTestersandDevelopers译者:许晓斌/王江平这是一本半技术书籍,虽然是测试使用,但阅读它实在也需要一定的代码基础,所以可见,测试的技术含量越来越高了:D由于本人使用Java,所以忽略了12章以后的内容,由于它所使用到的那些框架都是基于Ruby。
本书分为3部分:1.基础2.进阶3.应用在第一部分,基础篇中,介绍了Gherkin语法,Cucumber的产生背景与适用范围,以及常见问题与解答。
Cucumber是一种系统行为的描述文件,它是活文档,应该时刻描述当前系统的正确行为,并且能够自动测试。
这一特性事实上也要求在写Cu..ber文件时,务必做到用户精准,不要重复场景,用书上的话来讲,就是同一句话,对且只对应系统中的唯一的一个行为。
Cu..ber主要用于在团队中进行沟通,语言必须能通用,要通用就要求隐藏技术细节,以自然语言去描述系统的行为,最经典的场景如:Given...When...Then...给定一定场景,当做什么操作时,会产生什么样的结果。
表格的使用,Backgroud关键字都是为了让特性文件能更简洁,也更易懂和富有表现力。
第二部分进阶篇中,介绍了一些高级的功能,比如:钩子和标签钩子是指@Before@After这种加上实现方法之前,在测试开始时和结束后执行一些特定的操作。
Cu...ber的步骤是全局的,同理,@Be..这类钩子也是全局的,Cu...ber的全局是大有深意的,因为它认为,特性中的所有有用步骤,只能对应一种系统的行为。
若需要让其支持单个场景,则需要对在钩子后面加上标签的方式。
标签同钩子形式相同,可以在场景和特性关键词上加标签。
对于特性(Feature)的标签,会加在每个场景上。
Cu...ber可以对一组标签进行测试。
Cu...ber测试中(可以推而广之到任何测试中),凡是有数据库参与,需要在测试之前保证数据库是干净的,并且当前测试不会遗留下数据影响到下一个测试。
可以使用事务和Truncate的方式来保证这点,实际上,只要测试环节所需要的数据都由Given中提供,则不会有问题。
第三部分讲应用,基本上都是基于Ruby的一些库,但11章的命令行使用方式还是很有意义的,Cu...ber本身就是一个命令行工具,通过命令行,可以对特性文件进行一些过滤,对输出格式进行定制,以及集成到持续集成中。
命令行命令可以使用帮助:--help一些重要的命令:--tags过滤标签--lines指定行执行xxx.feature:45指定行的另一种形式--format格式化输出如果真能把Cucumber用起来,用严肃的态度对待每一个步骤,以测试驱动开发,做出来的项目质量应该能大上一个台阶的,是个很好的工具。
2023/11/3 8:45:35 6.7MB 软件测试
1
文字计数器EpicodusProject2020年5月15日Julia·塞德曼(JuliaSeidman)描述一个使用TDD/BDD以及C#语言和.NETCore框架进行单元测试的项目。
控制台应用程序将接受用户输入的单词和句子,并返回单词出现的次数。
本课程旨在练习使用MSTest和行为驱动开发来创建自动测试方法。
设置/安装要求从GitHub克隆此存储库。
在您选择的文本编辑器中打开下载的目录。
(VSCode,Atom等)导航到WordCounter.Tests目录,然后在您的终端中运行“dotnetrestore”以安装依赖项。
导航回到WordCounter目录,然后在您的终端中运行“dotnetbuild”,然后运行“dotnetrun”以在浏览器中启动该应用程序。
已知错误在此更新时,没有已知的错误。
支持和联系方式这个应用程式有
2023/11/2 10:13:18 7KB C#
1
Cucumber行为驱动开发指南[(英)韦恩,(挪)赫勒索著]
2023/9/9 16:03:38 100.43MB 行为驱动
1
框架特色:1、基于ASP.NETMVC4.0+WebAPI+EasyUI+Knockout的架构设计开发2、采用MVC的框架模式,具有耦合性低、重用性高、生命周期成本低、可维护性高、有利软件工程化管理等优点3、采用WebAPI,客户端完全摆脱了代理和管道来直接进行交互4、采用EasyUI前台UI界面插件,可轻松的打造出功能丰富并且美观的UI界面5、采用Knockout,,提供了一个数据模型与用户UI界面进行关联的高层次方式(采用行为驱动开发)6、数据访问层采用强大的Fluentdata完美地支持多数据库操作7、封装了一大部分比较实用的控件和组件,如自动完成控件、弹出控件、拼音模糊输入控件、日期控件、导出组件等
2023/8/4 5:53:01 33.8MB WebAPI mvc4.0 EasyUI 权限管理源码
1
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡