问题标签 [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 投票
4 回答
43842 浏览

cucumber - 如何在不删除功能的情况下禁用 specflow (Gherkin) 中的功能?

我有一些 SpecFlow 功能(使用 Gherkin 语法),我想暂时禁用该功能以阻止其测试运行?

有没有我可以标记功能的属性来做到这一点?我猜测适用于 Cucumber 的东西也可能适用于 SpecFlow。

0 投票
8 回答
24914 浏览

visual-studio-2010 - 如何在 Visual Studio 2010 中运行 SpecFlow 测试?

尝试使用全新的 VS2010 Professional 安装运行 SpecFlow。创建了一个新的控制台应用程序并添加了对 NUnit 和 SpecFlow 的引用。创建了 SpecFlow 功能。创建了具有默认模板代码的 .feature。

现在我尝试运行这个测试,但我不明白如何。当我右键单击项目(在顶层)时,鼠标下拉菜单中没有“运行测试”选项。SpecFlow 没有正确安装,我是否缺少一些参考资料或我需要安装的其他工具?

0 投票
2 回答
4020 浏览

msbuild - MSBuild:在不更改项目文件的情况下添加其他文件进行编译

环顾四周后,我找不到这个问题的简单答案。

我正在尝试创建一个 MSBuild 文件,以允许我在 Visual Studio 2010 express 中轻松使用 SpecFlow 和 NUnit。

下面的文件不完整,这只是一个概念证明,需要更通用。

SpecFlow 任务在 .csproj 文件中查找并创建一个 SpecFlowFeature1.feature.cs。我需要在构建 .csproj 时包含此文件,以便 NUnit 可以使用它。

我知道我可以(直接或在副本上)修改 .csproj 文件以包含生成的文件,但我宁愿避免这种情况。

我的问题是:有没有办法使用 MSBuild 任务来构建项目文件并告诉它包含一个附加文件以包含在构建中?

谢谢你。

0 投票
2 回答
256 浏览

c# - 是在一行中指定给定的所有参数,还是在单独的行中指定每个参数?

是在一行中指定给定的所有参数,还是在单独的行中指定每个参数?即哪个更好?

分别为每个参数

或某一行上特定 Given 的所有参数

这似乎(我希望我错了)对您如何编写绑定具有以下含义,并开始影响您编写类的方式,这是不应该的!即第一个选项(每个参数单独的AND)如果您的类具有在创建对象后逐个设置的公共属性,则绑定更容易编写......

而选项二(都在一行上)更容易拥有一个带有构造函数的对象,该构造函数将所有参数作为构造函数参数。

我觉得好像我遗漏了一些东西,因为 specflow 的实现不应该影响我编写的代码,而且我担心上面的 #1 会鼓励过度有状态的对象。我是一个功能性的无国籍瘾君子。

任何指针都将是最有帮助的。

提前发送,

干杯,艾伦

0 投票
1 回答
435 浏览

vb.net - Specflow - 让 specflow 在输出窗口中生成 vb.net 代码

嗨,有人知道如何配置 specflow 以在 nunit 输出窗口中输出步骤定义吗?

谢谢!

0 投票
1 回答
3112 浏览

unit-testing - 将 Specflow 场景用于集成测试和单元测试

我刚刚遇到 BBD 和 specflow,它看起来很有趣。在编写用户故事时,它们通常处于较高级别,并且参与者使用 GUI。因此,在编写场景时,它们通常是来自系统高级别的 GUI 测试或集成测试。但是在解决方案中进一步进行单元测试呢?例如服务端点、业务对象等。我应该为它们编写新的场景,还是有办法重用相同的场景进行低级测试(单元测试),还是应该复制并过去这些场景?

如果我错了,请告诉我。

0 投票
2 回答
836 浏览

database - 我应该如何实现这个specflow步骤?

好的,我决定尝试从头到尾掌握整个 TDD 过程。

我正在 ASP.NET MVC 2 应用程序中写一个简单的博客,并开始进行验收测试以在我实现它们时测试我的功能。我使用 SpecFlow 作为我的 BDD/ATDD 框架。

我一直在阅读“以测试为导向的面向对象系统的增长”,这就是我开始这样的原因。

我将在书中描述为迭代零的点,我正在创建“行走的骨架”

我决定将登录过程作为“测试系统所有组件的最薄功能部分”开始。在这种情况下,网站本身和数据库。

所以我写了一个详细介绍登录的故事,我写的第一个场景是成功登录。

上述场景中的一个给定条件是

但是我不确定我将如何实施这一步。

显然,这意味着数据库中需要有一个具有给定凭据的用户。但是,就像一个优秀的小程序员一样,我希望密码以某种方式进行散列。

我想写一些可以为我插入的 DatabaseHelper 类。但是,这将包含散列代码来散列密码,然后应用程序本身将需要相同的散列代码,这似乎违反了 DRY。

所以这里真的有几个相关的问题:

  • 我在这一步中挣扎的事实是否意味着我应该从其他地方开始?即使登录系统对站点的其他部分相当重要?也许它不是测试网站和数据库的最薄的功能部分?
  • 如果你和我从同一个地方开始,你会怎么做?你不会担心 DRY 吗?由于验收测试通过浏览器在外部测试功能,我可能无能为力吗?

如果这个问题看起来有点模糊,我不得不道歉,我没有人可以从这方面学习 TDD,这是我还没有那种“啊哈”时刻的范式转变之一。

提前致谢。

0 投票
5 回答
6128 浏览

tdd - ATDD 与 BDD 以及正确使用框架

我刚刚进入 BDD 的概念,并听取了 Scott Bellware 与 Herding Code 人员的谈话。我一直在玩 SpecFlow 并且非常喜欢它。

我理解 ATDD 和 TDD 之间的区别,如博客文章Classifying BDD Tools (Unit-Test-Driven vs. Acceptance Test Driven) 和一些 BDD 历史中所述,但这让我想到了一个问题。

如上所述,使用 BDD 工具(例如 MSpec)不只是另一个单元测试框架吗?在我看来是这样。

此外,这似乎表明使用 SpecFlow 来指定较低级别的组件(例如您的存储库和服务)是错误的。如果我可以对较低级别组件的 ATDD 和 TDD 使用相同的工具,为什么不呢?这里似乎还有一些模糊的线条,我觉得我不太理解。

0 投票
3 回答
1310 浏览

.net - 使用 Specflow 处理 Silverlight 的异步

Silverlight 单元测试框架定义了处理异步调用的过程(从 Microsoft.Silverlight.Testing.SilverlightTest 派生测试类,添加异步属性,使用 EnqueueXXX 方法。)考虑到 SpecFlow 在测试类和步骤之间呈现的分离:

  • 是否可以使用这些工具来等待测试中异步运行的 Silverlight 方法调用(例如进行 Web 服务调用)?
  • 如果他们不能,那么在 SpecFlow 测试文件中处理此行为的指导是什么?(也许使用在事件处理程序中触发的 AutoResetEvent 并等待它?)
0 投票
6 回答
26089 浏览

bdd - SpecFlow / BDD 示例

只是寻找一些示例BDD/SpecFlow- 理想情况下是一个项目б,这样我就可以看到如何SpecFlow在大型项目中使用多个功能我引用相同的步骤等。

在过去的几个月里,我阅读了一些博客,但还没有一个好的、多汁的其他人的项目可以闲逛。