问题标签 [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.

0 投票
3 回答
4230 浏览

visual-studio-2010 - 如何让 VS2010 识别 SpecFlow 生成的我的 mstests?

我已经将 Specflow 配置为针对 MsTest 框架(而不是 NUnit),方法是在我的“specs”类库的 app.config 中指定它:

因此,一旦到位,我可以看到我的测试装置是由 Specflow 自定义工具正确生成的,具有正确的 TestClassAttribute() 和方法等:

规范类构建,但现在我无法在我的 vista 64 盒子上使用测试 --> 运行 --> 解决方案中的所有测试在 Visual Studio 2010 中运行测试。为什么 VS 不将这些识别为有效的测试来运行?

0 投票
1 回答
323 浏览

bdd - When I write a feature that uses the same verbiage as other features, how do I make sure the right steps are called for persistence?

I am writing features with the same verbiage for some scenarios.

and

In SpecFlow is there a good way to define what step each feature calls? Am I going about this the wrong way with my scenario writing? Should I just bite the bullet and change my given statements to denote what feature they apply to? I'm new to BDD and SpecFlow so any help is appreciated.

0 投票
2 回答
1346 浏览

testdriven.net - Specflow error using TestDriven.Net - Couldn't Find Type

I'm trying out Specflow for the first time, and have created a VS2010 project with a reference to TechTalk.SpecFlow, as well as nunit.framework. I've added a sample Feature file:

When I execuyte the test (using TestDriven.Net), I get the following error:

Anyone know what I'm missing?

0 投票
1 回答
1143 浏览

rspec - 使用 SpecFlow(或等效工具)编写质量规范

最近几天我一直在玩 SpecFlow。在那段时间里,我意识到我应该重新编写这些系统的质量规范。

有人可以向我指出一些有关为 SpecFlow 或类似工具创建质量规范的最佳实践的资源吗?

0 投票
1 回答
356 浏览

specflow - 如何阻止 SpecFlow 显示时序信息

如何配置 SpecFlow 使其不显示计时信息作为测试文本的一部分,例如

-> 完成:Steps.ThenIWillBeDeniedAccess() (0.0s)

干杯。贾斯。

0 投票
2 回答
1917 浏览

asp.net-mvc - 如何使用 SpecFlow、Cucumber 或其他 BDD 验收测试框架在不同的测试类型之间进行选择?

我正在查看 SpecFlow 示例,它的 MVC 示例包含几个用于测试的替代方案:

  • 基于控制器生成的验证结果的验收测试;
  • 使用 MvcIntegrationTestFramework 进行集成测试;
  • 使用 Selenium 进行自动化验收测试;
  • 当提示测试人员手动验证结果时进行手动验收测试。

我必须说我对 SpecFlow 示例的编写效果印象深刻(下载后我设法在几分钟内运行它们,只需要配置数据库并安装 Selenium 远程控制服务器)。查看测试替代方案,我可以看到它们中的大多数相互补充而不是替代方案。我可以想到这些测试的以下组合:

  • 控制器以 TDD 风格进行测试,而不是使用 SpecFlow(我认为 Given/When/Then 类型的测试应该应用在更高的端到端级别;它们应该为各个组件提供良好的代码覆盖率;
  • MvcIntegrationTestFramework 在开发会话期间运行集成测试时很有用,这些测试也是日常构建的一部分;
  • 尽管基于 Selenium 的测试是自动化的,但它们速度很慢,主要是在 QA 会话期间启动,以快速验证页面和站点工作流程中没有损坏的逻辑;
  • 提示测试人员确认结果有效性时的手动验收测试主要是验证页面外观。

如果您在 Web 开发中使用 SpecFlow、Cucumber 或其他 BDD 验收测试框架,您能否分享您在不同测试类型之间进行选择的实践。

提前致谢。

0 投票
6 回答
7760 浏览

bdd - 用于单元测试的 SpecFlow/BDD?

似乎互联网没有明确的答案,也没有一套原则来帮助我回答这个问题。所以我求助于 SO 上的伟大人物来帮助我找到答案或指导思想:)

SpecFlow 对于 .NET 中的 BDD 非常有用。但是当我们谈论 BDD 时,我们只是在谈论集成/验收测试,还是我们也在谈论单元测试——完全替代 TDD?

我只在小型项目中使用过它,但我发现即使对于我的单元测试,SpecFlow 也改进了代码文档和语言方面的思考。Converseley,我无法在一个地方看到完整的测试代码——因为这些步骤是零散的。

现在给你…………

编辑:我忘了提到我在 RoR 社区中看到了 RSpec,它使用 BDD 样式的语法进行单元测试。

0 投票
1 回答
3347 浏览

integration-testing - 如何删除 SpecFlow 中的种子数据

这可能已经提出,也许是一个愚蠢的问题。

无论如何,我一直在研究 SpecFlow 并想知道如何删除该功能的种子数据。这些种子数据在不同的场景中共享。有没有一种优雅的方式来做到这一点?也许在调用 testRunner.OnFeatureEnd() 时注入事件的能力?

0 投票
1 回答
283 浏览

c# - Specflow,没有看到步骤定义的建议代码

在编写了功能/场景并运行测试后,我没有看到任何建议的代码用于输出中的步骤定义,就像大多数屏幕投射所建议的那样。

关于我在做什么不同的任何想法?

(编辑)我正在使用 NUnit 和 Resharper 来运行测试。我看到了基本输出,但没有像我在屏幕截图中看到的那样定义清晰的列表。每个示例方法都列在失败的步骤下方。

0 投票
2 回答
1418 浏览

cucumber - 小黄瓜规范中步骤之间的强耦合

我正在使用 specflow 来指定我的应用程序,它只是让我免于做非常糟糕的事情,所以我真的很喜欢它:-) 但是我在步骤之间的耦合方面遇到了问题:例如,因为我在一个中大量使用模拟步骤我告诉模拟它应该返回一个实体,但在另一个我告诉模拟返回相同的实体,但具有另一个属性。

看看这一步(从下面的 Darrens 答案中窃取并修改):

请参阅此处,我从 Guy 对象开始,然后修改该对象 - 这是我正在测试的东西。

因此,我将一个实体放入模拟存储库中,然后在另一个步骤中将其拉出并再次放入。如何避免步骤之间的高耦合和可重用性?

当然,我可以在场景类中保留一个局部变量并将所有实体放入该变量中,但是我会结合这些步骤。