草庐IT

serenity-bdd

全部标签

你真的了解TDD和BDD吗

今天我们来谈一谈TDD和BDD两项实践。我们先来说说TDD,也就是测试驱动开发(TestDrvienDevelopment)。TDD的节奏或许你已经迫不及待地要举手了:“TDD我知道,就是先写测试,后写代码。”但真的是这样吗?严格地说,“先写测试、后写代码”的做法叫测试先行开发(TestFirstDevelopment),而不是测试驱动开发。测试驱动开发不也是先写测试后写代码吗?二者之间有什么区别呢?要回答这个问题,我们需要知道TDD的一个关键要素, TDD的节奏:红-绿-重构。红表示写了一个新的测试,测试还没有通过的状态;绿表示写了功能代码,测试通过的状态;而重构就是在完成基本功能之后,调整

Go:基于BDD的测试框架 Ginkgo 简介及实践

文章目录简介1.TDD2.BDD3.Ginkgo一、Ginkgo实践1.安装Ginkgo2.使用二、高级用法1.标志2.并发3.goroutine4.DesctibeTable用法4.生成JUnit测试报告6.测试例性能小结简介在如何有效地测试Go代码一文中,我们谈论了单元测试,针对它的两大难点:解耦、依赖,提出了面向接口、mock依赖的解决方案。同时,该文还讨论了一些Go领域内的实用测试工具,欢迎读者阅读。单元测试关注点是代码逻辑单元,一般是一个对象或者一个具体函数。我们可以编写足够的单元测试来确保代码的质量,当功能修改或代码重构时,充分的单元测试案例能够给予我们足够的信心。单元测试之上是开

Pytest-BDD 行为驱动开发测试

文章目录01BDD02pytest-BDD03安装pytest-BDD04pytest-bdd的框架结构05pytest-bdd基础使用5.1第一步:添加需求描述/用户场景5.1.1BDD的表达语法5.1.2创建`.feature`文件5.2第二步:实现用户场景5.2.1用户场景的解析/实现5.2.2使用`scenarios`或`@scenario`关联用户场景和步骤函数1.`scenarios`2.`@scenario`5.3第三步:运行测试06pytest-bdd扩展使用6.1步骤参数6.1.1默认是String6.1.2parse(基于pypi_parse)6.1.3cfparse(py

java - 哪个 BDD 框架允许对 "story writing"采取简单的方法?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭8年前。Improvethisquestion我正在尝试使用BDD以一种非常简单的方式,以最大限度地减少Java代码量。我只想创建两个文件,一个是我的故事:Givenuserisnamed"JohnDoe"AnduserisauthenticatedWhenuserchangeshispasswordto"a1b2c3"Thenuserpasswordequalsto"a1b2c3"接下来,我创建一个Java类:

java - Chrome 正在被自动化测试软件控制

我正在使用SerenityBDD(Selenium)在Chrome中运行自动化测试。我不得不下载一个新的ChromeDriver,因为我的测试无法运行->测试将打开ChromeDriver但无法“以用户身份浏览”。当我用谷歌搜索这个问题时,他们说我必须更新ChromeDriver。所以我将ChromeDriver更新到版本2.28,并将Chrome版本更新到版本57.0.2987.98。但现在-每次我运行测试时都会出现这个烦人的文本:Chromeisbeingcontrolledbyautomatedtestsoftware然后它问我是否要保存密码。(不能加图,因为我的“积分”不够)在

c# - 是否可以一起使用 DDD 和 BDD?

我喜欢使用DDD实现的中间开发。开发是由领域驱动的,领域是应用程序中最坚实的部分。我们不依赖于基础设施、持久性和展示。听起来不错。但它没有商业值(value)。以业务为中心的BDD和由外向内的开发来了。我们没有前期领域设计(选择实体、值(value)对象、聚合)。我们获取用户故事,编写一些场景并逐一实现。我们从应用程序中变化最大的部分开始开发——从演示开始。我讨厌编写脆弱的验收测试。你呢?所以,如果这里有人有以BDD风格应用DDD的成功案例,请与我分享一些:)您是否编写那些脆弱的测试以供演示?在为已实现的用户故事创建部分领域之前,您是否预先进行了一些设计?或者您在实现故事后重构DDD模

python - 与 Django 一起使用的 TDD/BDD 框架?

我正在尝试决定采用哪种方法来测试我正在编写的Django应用程序。我看过Cucumber,这让我想到了生菜(URL是lettuce.it)和pycurracy.我喜欢这些框架的外观,因为希望非技术人员也能够编写定义。我希望能够:运行与Django集成的功能测试,因此有时会检查模型,通过网络浏览器测试行为-pycurracy似乎使这更容易,因为已经有Selenium绑定(bind)。但是Selenium很慢,所以我更愿意使用headless、理想情况下支持Javascript的浏览器进行测试。Lettuce似乎可以轻松完成第一个,但第二个需要我为“我单击按钮x”等操作构建一个步骤库。相反

python - 如何使用 Behave 从 Python BDD 功能测试中获取代码覆盖率数据?

我还没有看到这个特定问题(TestcoveragetoolforBehavetestframework)的答案,而且我还没有看到任何Google搜索结果产生足够的答案。因此……如何从Behave获取代码覆盖率报告?我发现很难相信没有Python开发人员使用BDD方法,我发现更难以相信那些使用BDD的Python开发人员在没有来自功能测试的代码覆盖率统计信息的情况下这样做。Coverage.py可以用来驱动Behave以产生代码覆盖率吗?怎么办? 最佳答案 我不知道如何使用behave,但我使用了Cucumber对于BDD,我认为这可

python - Django有没有和Rails的测试工具媲美的BDD测试工具?

Ruby/Rails享有一些非常好的和强大的行为驱动设计/开发测试框架,例如Cucumber和RSpec.Python/Django是否享受同样的东西(我不是在谈论像PyUnit这样的简单单元测试)? 最佳答案 有一个名为Lettuce的新工具这有望成为Cucumber的Pythonic版本。它从Django集成开始。这加上Django中现有的测试工具使其非常适合单元测试。还有一个名为Windmill的工具它为构建GUI测试提供了可靠的基于浏览器的测试工具。将其与用于编写验收测试的Lettuce等工具相结合,并直接unittest和

python - Django有没有和Rails的测试工具媲美的BDD测试工具?

Ruby/Rails享有一些非常好的和强大的行为驱动设计/开发测试框架,例如Cucumber和RSpec.Python/Django是否享受同样的东西(我不是在谈论像PyUnit这样的简单单元测试)? 最佳答案 有一个名为Lettuce的新工具这有望成为Cucumber的Pythonic版本。它从Django集成开始。这加上Django中现有的测试工具使其非常适合单元测试。还有一个名为Windmill的工具它为构建GUI测试提供了可靠的基于浏览器的测试工具。将其与用于编写验收测试的Lettuce等工具相结合,并直接unittest和