问题标签 [specflow]
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.
testing - 进行自动化验收测试以测试字段是否保存到数据库是否重要?
我将 SpecFlow 用于自动化验收测试框架,将 NHibernate 用于持久性。我正在处理的 Intranet 应用程序的许多 UI 页面都是基本的数据输入页面。显然,将字段添加到这些页面之一被认为是“功能”,但我想不出除此之外的任何场景
像这样自动化测试有多普遍和必要?此外,我正在使用 NHibernate,所以它不像我正在处理我自己的数据持久层。一旦我将一个属性添加到我的映射文件中,它很有可能不会被错误地删除。考虑到这一点,“一次性”手动测试还不够吗?我很想听听您在这件事上的建议和经验。
c# - SpecFlow 自动生成 StepDefinition 文件,可以吗?
我目前正在用 C# 编程,我正在使用 Visual Studio 2010、.Net 4、SpecFlow、NUnit,我很好奇 SpecFlow 是否有办法为我的 *.feature 文件自动生成 *StepDefintion.cs。目前我必须将生成的代码复制并粘贴到一个新的“SpecFlow 步骤定义”文件中。
如果有人知道这是否可能,以及如何做到这一点,那就太好了!
c# - 如何在 SpecFlow 中为多依赖需求创建功能
我正在学习 SpecFlow,并且正在做一个简单的 Com-Sci 标准 FizzBuzz 项目。给定一个数字范围 用 Fizz 替换能被 3 整除 用 Buzz 替换能被 5 整除 用 FizzBuzz 替换能被 3 和 5 整除。
这是一个非常简单的应用程序,但它确实给我提出了一个问题。如何编写功能来测试多个需求,这些需求都是从 API 上的一个方法调用中触发的?例如,API 调用将如下所示FizzBuzz.Replace(1, 100);
,使用 Replace 方法代码
我在 SpecFlow 中的功能如下:
另一个问题是,如果我确实需要将所有需求集中在一个功能中,如何使该功能更有意义。
编辑 我正在努力创建多个场景,因为一旦我创建了第二个场景,第一个场景就会失败。
然后做下一个场景
第二个场景通过了,但第一个场景现在失败了。我不认为开放 API 来执行场景 1、2、3 对应用程序来说是一个好的设计。
谢谢,
c# - Specflow解析错误VS2010
有人能告诉我我在 specflow 中的第二个 AND 语句有什么问题吗?
也许还有更好的方法来测试这种行为?
testing - 带有测试管理器或编码 UI 测试的 BDD
你们中是否有人有使用 Microsoft 的测试管理器或 Coded UI 测试进行真正 BDD(甚至 TDD)的经验?
我对这些工具不是很熟悉,因为我们一直在使用 SpecFlow 和 WatiN 进行 BDD。我们组织中的一个团队正在提议测试经理,但我担心他们将编写测试的能力误认为是实际执行真正的 BDD/TDD,您首先编写一个小测试,然后编写最少的代码以通过测试。
他们向我们展示的示例是在测试管理器中编写一个测试用例,启动 UI 并记录测试的作用。显然,这不是 BDD。可以用测试管理器完成真正的 BDD 吗?
任何想法表示赞赏。谢谢,威尔
哇,快一个星期了,没有任何反应。我可以认为 NOBODY 使用 TestManager 是因为它是 QA 工具而不是开发人员工具吗?
resharper - Specflow 测试全部运行两次
我正在使用带有 NUnit 和 WatiN 的 Specflow 进行一些验收测试,并且我所有的 Specflow 测试都运行了两次。由于他们使用 WatiN 浏览我的网站,因此需要花费大量额外时间。
到目前为止,我只有一个基本的 specflow 功能 - 基本上我采用了示例功能,更改了一些名称并实施了这些步骤。
为什么所有测试都运行两次?
编辑:也许我应该补充一点,我正在使用 R# 测试运行器。
asp.net - 带有 Specflow 和模拟浏览器行为的 BDD
我已经开始使用 SpecFlow 来尝试为我的一个 ASP.NET MVC Web 应用程序编写规范。我遇到了两个基本问题,在谷歌中没有找到任何答案。
有没有一种方法可以模仿浏览器行为而无需创建实际的浏览器实例。我知道有诸如“WatiN”之类的库可以创建实际的浏览器实例,我不愿意使用它,因为它可能会显着降低测试性能(我需要在构建服务器中运行它们)
我需要依赖浏览器或模拟浏览器的原因是我不想将我的测试直接放在控制器上,因为它不能保证当我直接实例化控制器时我的所有动作过滤器都会被触发(因为它是asp.net mvc 引擎的一部分)。有人可以建议我一种对我的控制器进行场景测试的方法 - 启动所有动作过滤器(这样我可能不想使用浏览器/模拟浏览器)?
谢谢
大黄蜂
asp.net-mvc - 如何协调我的 ASP.NET MVC 3 应用程序和 SpecFlow 之间的设置?
所以我有一个 VS 2010 解决方案,其中包含一个 ASP.NET MVC 3 项目和一个 SpecFlow 项目(使用 NUnit 作为测试运行器)来测试前者。在 SpecFlow 下进行测试时(通过运行 SpecFlow 项目),我想更改 MVC 应用程序的ConfigurationManager.AppSettings字典中的参数,以使其连接到测试数据库。但是,此更改似乎不会影响正在运行的应用程序,因此我猜测试和应用程序不共享状态。
如何在 MVC 应用程序项目和 SpecFlow 项目之间共享此应用程序设置,以便它们使用相同的数据库?
编辑: 我发现问题实际上并不是项目(MVC 和 SpecFlow)之间的共享设置之一,而是两个进程之间的共享设置。原因是我通过 WatiN 测试 MVC,这意味着在它自己的进程中运行的开发服务器正在被测试执行。因此,我最初问题的前提从一开始就是错误的,鉴于原始前提,我认为杰森的回答是有效的。
.net - 重用 SpecFlow 场景
我已经开始使用 SpecFlow 并且想知道是否可以在规范之间重用场景
基本上我的想法是这样的(我可能从根本上错了:))
我编写了一项功能来验证导航。
功能:导航
场景:导航到 Boo
然后我有另一个规范可以验证 Boo 的操作方面
功能:验证 Boo 是否工作正常
所以在这里我基本上需要先导航到 Boo 屏幕。我在想我是否可以重用Scenario: Navigate to Boo用Navigation编写的场景
这可能吗?否则,绕过它的最佳方法是什么?
/BB
.net - 为 SpecFlow 场景准备数据
我将测试一个复杂的场景,该场景需要在它之前执行几个其他步骤。
例如,在货物从仓库中取出之前,它可以相当于在仓库中拥有适当的数据。因此,为了进行抓取,首先必须确保仓库中有产品并且有抓取订单。可能有单独的屏幕将产品插入仓库。所以在我开始测试获取场景之前,我必须准备好这些场景。
准备好这些数据的最佳方法是什么?我基本上可以想到两种选择。
浏览实际屏幕以准备数据。
拥有包含准备好的数据的数据库快照以执行所需的场景。
我不确定我应该以哪种方式前进,并希望从尝试过类似事情的人那里听到类似的经历。