问题标签 [bdd]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
objective-c - Objective-C 中的 BDD
我最近开始学习 Objective-C 并使用与 Xcode 捆绑在一起的 OCUnit 编写我的测试。
我是一名长期的 Ruby 程序员,而且我习惯于 RSpec 和 Cucumber - 不错的 BDD 框架。
在 Objective-C 中是否有一个像样的 BDD 框架?我错过了我的“应该”:)
testing - BDD 还是 TDD?你喜欢哪个?为什么?
我看到许多开发人员在开始一个新项目时不同意使用哪种类型的测试。我想知道你为什么选择这种特殊的风格而不是另一种。
ruby - 我可以在我开始的项目中以 TDD 或 BDD 为目标吗?
我决定在我已经开始的项目上尝试 TDD 和 BDD,受到以下问题的回答的鼓舞: 我是否应该在尚未使用 TDD 的项目上开始使用它
我正在努力真正开始。我的项目(开源,托管在http://gitorious.org/rubots中)类似于游戏,使用 Ruby 封装并连接到控制服务器和物理模拟环境。该脚本被执行,然后出现一个 GUI,当用户单击开始时,启动了 2 个外部 c++ 程序,其中一个是物理模拟,它们由具有 Ruby 绑定的库控制。没有办法重置模拟和控制程序,它们应该重新启动。启动它们并使它们处于工作状态大约需要 5 秒钟。在这种情况下,任何移动之前的整个启动阶段的任何测试都需要,并且模拟取决于还应提供的外部配置文件。
开始编写测试用例真的值得吗?如何?每个测试都带有 :before 或类似的启动游戏、启动应用程序等?然后每次测试至少需要 5 秒(如果我必须提交命令并等待模拟实体回答,则需要更多时间)。
我错过了一些东西。我是否应该不仅跳过 BDD 和 TDD,还要跳过此类应用程序的测试单元?
ruby-on-rails - 如何将 Cucumber 集成到 Code to Test Ratio 中?
当我使用“rake stats”时,我可以知道我为我的 RSpec 测试编写了多少行代码。而且我的 RSpec 测试也会影响 Code to Test Ratio。
但是我也可以从那里的 Cucumber 步骤中列出我的代码行吗?
此致
php - 用于 PHP 应用程序的黄瓜
是否可以在 Rails 之外使用 Cucumber?我想开始使用它来测试我的一些 PHP 应用程序,但我真的不知道如何开始。
可能最简单的方法是创建一个仅用于运行 Cucumber 功能的 Rails 项目,但在我看来,这似乎有点矫枉过正。
设置 Cucumber 以测试非 Rails 应用程序的最简单方法是什么?
design-patterns - BDD 中的规范模式与规范
我正在尝试探索行为驱动设计和领域驱动设计。我得到书面规范驱动 BDD 中的测试,而且可以使用规范模式封装业务逻辑,以便在域对象和存储库等中重用。
这些基本上是相同的概念,只是以不同的方式使用,一起使用,还是我完全混淆了这些概念?
如果可能的话,请提供一些启示。
c# - 实现存储库模式的最佳方法?
我一直在探索 BDD/DDD,因此试图提出存储库模式的正确实现。到目前为止,很难就实现这一点的最佳方式达成共识。我试图将其归结为以下变体,但我不确定哪种方法是最好的。
作为参考,我正在构建一个以 NHibernate 作为后端的 ASP.MVC 应用程序。
我最初的想法是
1)从效率的角度来看很好,但是随着事情变得更加复杂,我可能会遇到麻烦。
2) 看起来很乏味,最终可能会出现一个非常拥挤的课程,但否则会在我喜欢的领域逻辑和数据层之间提供高度分离。
3) 似乎很难预先编写查询并且需要更多的工作来编写查询,但是将交叉污染限制在 Specs 层。
4) 我最不喜欢,但可能是最直接的实现,并且对于复杂的查询可能是最高效的数据库,尽管它给调用代码带来了很多责任。
ruby-on-rails - 你测试你的控制器多少?
我目前从 BDD 开始——我之前没有写过任何测试。我总是尽量让我的模型胖而我的控制器瘦。
你怎么看 - 控制器规格是必要的吗?
此致
ruby-on-rails - 如何使用 Cucumber 和 Webrat 检查表单是否预先填充了值?
我正在使用 Rails 学习 Cucumber 和 Webrat,并且想要一些关于测试“编辑”表单的最佳方法的建议。当我浏览到用户的个人资料时,我会看到一个编辑表单,其中用户的信息预先填充在表单字段中。我希望能够测试这些字段是否确实包含我期望的信息。这是我的场景:
Cucumber 正确地告诉我,我需要定义以下自定义步骤:
我确信我可以找出一些讨厌的正则表达式来实现评估这些步骤,但我觉得必须有一些已经存在或更优雅的东西我可以做。您如何评估表单字段中预先填充数据的表单?
c# - 如何避免贫乏的领域模型,或者何时将方法从实体移动到服务中
我有一个常见的场景,我正在寻找对 DDD 和领域建模更有经验的人的一些指导。
假设我开始构建一个博客引擎,第一个要求是文章发布后,用户可以开始对其发表评论。这开始很好,并导致以下设计:
我的 MVC 控制器设计如下:
现在一切正常,符合要求。下一次迭代我们要求每次发布评论时,博客作者都应该收到一封电子邮件通知他。
在这一点上,我有两个我能想到的选择。1) 修改 Article 以要求 IEmailService(在 ctor 中?)或从对我的 DI 容器的静态引用中获取 EmailService
1a) 看起来很丑。我相信它违反了我的实体知道服务的一些域模型规则?
1b) 看起来也很丑,我现在需要一个静态访问的已配置 DI 容器。
2) 创建一个 IArticleService 并将 AddComment() 方法移动到此服务而不是文章实体本身。
我相信这个解决方案更干净,但是现在添加评论不太容易被发现,并且需要 ArticleService 来执行工作。似乎 AddComment 应该属于 Article 类本身。
所以我基本上是在向在领域建模方面更有经验的人寻求建议。如果我缺少更明显的解决方案,请告诉我:)
老实说,我通常不喜欢这两种解决方案,因为服务选项不太容易被发现。如果没有可用的 ArticleService,我无法再向 Article 实例添加评论。它也感觉不太自然,因为 AddComment 似乎是 Article 类型的一个明显的方法。
无论如何,我期待阅读输入。提前致谢。