gpt4 book ai didi

bdd - SpecFlow/BDD 与 ASP.NET MVC

转载 作者:行者123 更新时间:2023-12-04 06:49:07 27 4
gpt4 key购买 nike

我是 BDD 新手,使用 SpecFlow 我正在尝试制定一种高效、有组织且可维护的方法(用于 ASP.NET MVC 中)。我需要改进的主要方面是:

  • 步骤分组(到步骤文件中)
  • 重用测试对象(就像通过继承测试基类等在单元测试中很容易)
  • 文件夹结构

  • 说到分组,让我们来看一个典型的 CRUD 场景。例如:
  • 我项目中每个“区域”的文件夹,例如公共(public)、站点管理
  • 每个文件夹中的功能文件夹和步骤文件夹

  • 然后,在这些文件夹中,我有一个功能文件,涵盖了某个实体的整个 CRUD 体验,例如 NewsItem。我这样做是为了在我的步骤中重用对象和 NewsController。

    但这意味着步骤文件变得非常庞大,涵盖了所有类型的有效、无效输入可能性,并且很难从头到尾遵循一个场景。但如果我不这样做,我就无法在整个 CRUD 过程中重用可能适用于多个场景的步骤。

    我知道这是非常主观的,我不怕被许多不同的想法和观点所淹没——这就是我想要的:P

    除了您自己的意见和偏好外,博客和书籍的链接也很好。

    谢谢

    缺口

    最佳答案

    抱歉,很久没有人回答这个问题了。如果它仍然对您有用,这可能会有所帮助。

    我的步伐保持在非常高的水平:请参阅此问题 Imperative and declarative steps in Rspec

    我按关注领域对步骤进行分组。想象一下登录并执行一些操作,然后再次注销。或者也许是回家休息一天。我在一次 session 中可能做的任何事情都会成为一个关注领域。例如,如果我是宠物店老板,我可能有以下步骤文件:处理库存宠物、处理配件和其他库存、销售元素、跟踪利润等。

    我也有一个屏幕/页面范例,就像 WebDriver。这意味着,如果一个步骤实际上在 UI 上做了几件事,那么就会有一个屏幕或页面来处理所有这些操作。

    我经常使用级联构造函数来允许我的 BDD 工具(在我的例子中是普通的旧 NUnit)为我创建这些步骤和场景。我一直在编写一个小自动化工具,您可以在其示例中看到其中一些技术:

    http://code.google.com/p/wipflash/source/browse/Example.PetShop.Scenarios/PetRegistrationAndPurchase.cs

    我还没有过多地使用 SpecFlow,但我想这些可能对你有用。这与我在 JBehave 或 Fitnesse.NET 和 FitSharp 中使用的设计模式相同。

    祝你好运!有一个BDD群http://groups.google.com/group/behaviordrivendevelopment如果您需要更多信息,这可能会对您有所帮助。

    关于bdd - SpecFlow/BDD 与 ASP.NET MVC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3379525/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com