标签: specflow

Visual Studio Express的Specflow

我在Visual Studio 2010 Pro中使用了Specflow,但是想在我的个人项目中使用它.不幸的是我只有VS210 Express.

我还没有设法让Specflow在VS2010 Express中运行.有没有人这样做过或者甚至是可能的.

谢谢,

visual-studio-2010 specflow

9
推荐指数
1
解决办法
4546
查看次数

更新SpecFlow场景大纲变体的名称

我有这个功能文件:

Scenario Outline: Example
    Given I am a user
    When I enter <x> as an amount
    Then the result should be <result>
    Examples:
        | x | result |
        | 3 | 3      |
        | 1 | 1      |
Run Code Online (Sandbox Code Playgroud)

我的问题是,在运行之后,每个示例都标记为 variant #

有没有办法说明每个示例行实际测试的内容,以便在报告中我们更好地了解测试的内容,而不仅仅是:

Scenario: Example, Variant 0
Scenario: Example, Variant 1
Scenario: Example, Variant 2
Run Code Online (Sandbox Code Playgroud)

我正在努力帮助我们的测试人员获得更有意义的报告; 通常有一个原因是他们编写了多个示例,并且他们希望以某种方式显示该示例的原因.

naming scenarios specflow gherkin

9
推荐指数
1
解决办法
3275
查看次数

SpecFlow - 当前上下文中不存在名称"GenerationTargetLanguage" - 构建错误

我在尝试构建项目时遇到此错误.它突出显示了我的功能页面中的单词并给了我这个错误.

错误1当前上下文中不存在名称"GenerationTargetLanguage"

我试图在每个功能上运行自定义工具,但这使我的错误从两个相同,到这些错误中的三个.

在google群组中发现了另一个有此问题的人.没有解决方案.

.net specflow

8
推荐指数
2
解决办法
2344
查看次数

SpecFlow - 运行并行测试

我正在使用SpecFlow实现与彼此无关的测试.是否有启用并行测试执行的SpecFlow配置选项?我正在使用VS10和MSTest运行器,它支持运行"最多5个并行单元测试",因为他们在文档中声称.

谢谢,max.yz

unit-testing visual-studio-2010 specflow

8
推荐指数
1
解决办法
5627
查看次数

当我们有Specflow时,为什么要使用编码的ui?

我们在当前项目中使用Specflow和WatIn进行验收测试.客户希望我们使用Microsoft编码的ui.我从来没有测试过编码的ui,但是到目前为止我看到它看起来很麻烦.我想在我有一个ui之前预先指定我的验收测试,而不是由于一些记录/回放的东西.无论如何,有人可以告诉我为什么我们应该扔掉Specflow/watin组合并用编码的ui替换它?

我还读过你可以将specflow和编码的ui结合起来,但对于我在specflow中已经做得很好的事情来说,它看起来很像开销.

coded-ui-tests specflow

8
推荐指数
1
解决办法
4443
查看次数

使用SpecFlow进行端到端回归测试

我们正在使用BDD并使用SpecFlow来推动我们的开发(ATDD).

我们的QA团队希望定义他们自己的'端到端回归测试(在Gherkin/SpecFlow中)并重新使用我们已经定义的步骤.

(请注意 - 我知道这不是一个很好的例子,但它应该提供足够的细节)

测试可能包括..

  1. 登录
  2. 搜索产品
  3. 选择要购买的产品
  4. 创建订单
  5. 选择送货方式.
  6. 提交订单.
  7. 取消订单.

这会暗示像......这样的场景.

鉴于我登录
当我搜索产品
而我选择要购买的产品
我创建订单
我选择交货选项
我提交订单
我取消订单
然后?? !!

这显然是错误的,因为我们没有在每一步检查输出.

所以这可以解决为一系列场景:

场景1:
鉴于我登录时
当我搜索产品
然后我看到了产品列表

场景2:
当我选择要购买的产品
然后我可以创建订单

场景3:
当我创建订单
而我选择交货选项
然后我可以提交订单

等等

这个问题的主要问题是似乎无法指定场景运行的顺序/顺序(nUnit的特征?).因为场景之间存在依赖关系(它们未设置为已知起点),所以它们必须按顺序运行.

我的问题是:

a)我们是否试图在圆孔中安装方形钉?!

b)有没有人知道是否有办法以这种方式使用SpecFlow/Gherkin?

c)或者有人知道有什么替代品吗?

非常感谢!

bdd automated-tests acceptance-testing specflow gherkin

8
推荐指数
1
解决办法
4162
查看次数

具有相同步骤的Specflow Feature文件导致多个浏览器实例启动

我在我的C#Specflow测试项目中至少有3个.feature文件,例如:

Given I am at the Home Page

当我第一次在文件中编写步骤Feateure1.feature并创建步骤方法时,我将它放在一个步骤文件中,比方说Steps1.cs,它继承自初始化a的基类FirefoxDriver.我的所有StepsXXXX.cs类都继承自这个基类.

然后,我写了Feature2.feature,这也有一步Given I am at the Home Page.而且这个步骤是自动绑定的Steps1.cs

"直到现在,没问题.这就是我想要的 - 在整个测试项目中拥有可重复使用的步骤.但问题是,每当我运行一个包含不同StepsXXXX文件步骤的场景时,我就会运行各种浏览器实例.

======

我很确定这是因为我的StepsXXXX(绑定类)都继承自这个具有自己的IWebDriver的基类,并且在调用步骤时,其他所有内容(包括之前/之后的场景方法)都是调用.但我无法弄清楚如何解决这个问题.

我仍然想要可重复使用的步骤.我试图将这些步骤放在基类中,但它不起作用.我也考虑过更改绑定,但是specflow使用有意义的字符串来执行此操作,我不想将它们更改为误导性字符串.

有没有人偶然发现了这个?任何帮助都非常感谢.

c# specflow

8
推荐指数
2
解决办法
1万
查看次数

有没有人成功使用过SpecFlow和xUnit 2.0?

当前版本的SpecFlow.Xunit与xUnit 2.0不兼容.

我无法回滚到xUnit 1.9.0,因为所有其他单元测试都是为xUnit 2.0编写的.SpecFlow.Xunit的当前版本使用IUseFixture,它在xUnit 2.0中已过时.

所以我想问一下是否有人在使用xUnit 2.0的SpecFlow.Xunit?你是怎么做到的?

c# bdd xunit specflow

8
推荐指数
1
解决办法
2792
查看次数

Nunit Framework与SpecFlow框架

我是NUnit的新手,并且与SpecFlow测试框架和NUnit测试框架相混淆.

现有项目使用NUnit,如下所示.具有[Test]属性的所有方法都显示在NUnit GUI中(如果从方法中删除[Test],则测试用例不会显示在NUnit GUI中):

[TestFixture]
public class AccountTest
{
  [Test]
  public void TransferFunds()
  {
    Account source = new Account();
    source.Deposit(200m);
  }

  [Test]
  public void TransferWithInsufficientFunds()
  {
  }
}
Run Code Online (Sandbox Code Playgroud)

当我在同一个项目中使用SpecFlow进行编码时,SpecFlow框架是不同的,从[Given],[When],[Then]开始.每个SpecFlow场景都显示在Nunit GUI上.

我正在做的是用一个SpecFlow方法替换每个[Test]方法.例如:

[Test]
public void TransferFunds()
{
  Account source = new Account();
  source.Deposit(200m);
}
Run Code Online (Sandbox Code Playgroud)

转向

[Then(@"I Transfer Funds")]
public void ITransferFunds()
{
  Account source = new Account();
  source.Deposit(200m);
}
Run Code Online (Sandbox Code Playgroud)

这是我的问题:

  1. 看起来SpecFlow无法识别NUnit属性[Test]或[Setup].要使用SpecFlow完成项目,我是否需要摆脱所有NUnit框架并替换为SpecFlow的框架?

  2. 我可以看到有很多文章在讨论"SpecFlow + NUnit",但它们要么是SpecFlow [Given],[When],[Then]还是NUnit [Test],[TestCase].如何在一个项目中工作或者我对NUnit的理解是完全错误的?

我的问题可能是非常入门级的,谢谢你的答案!

c# nunit specflow

8
推荐指数
2
解决办法
8403
查看次数

生成错误:无法加载文件或程序集"Microsoft.Build.Framework,Version = 15.1.0.0"或其依赖项之一

当我尝试生成我的.feature文件时,我似乎随机得到以下错误.

偶尔我会更改或更改我的功能文件,并且此错误突然冒出:

#error Generation error: Could not load file or assembly 'Microsoft.Build.Framework, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
Run Code Online (Sandbox Code Playgroud)

我完全不知道如何解决这个问题 - 我尝试添加对程序集的引用,更改SpecFlow/NUnit的版本,但似乎没有任何工作.

擦除我的项目副本并从源代码控制中拉出它最初工作,然后再次发生.

以下是我安装的软件包的完整列表:

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="Microsoft.AspNet.WebApi.Client" version="5.2.2" targetFramework="net461" />
  <package id="Microsoft.AspNet.WebApi.Core" version="5.2.2" targetFramework="net461" />
  <package id="Microsoft.Azure.KeyVault.Core" version="1.0.0" targetFramework="net461" />
  <package id="Microsoft.Data.Edm" version="5.8.2" targetFramework="net461" />
  <package id="Microsoft.Data.OData" version="5.8.2" targetFramework="net461" />
  <package id="Microsoft.Data.Services.Client" version="5.8.2" targetFramework="net461" />
  <package id="Newtonsoft.Json" version="9.0.1" targetFramework="net461" />
  <package id="NUnit" version="3.0.0" targetFramework="net461" />
  <package id="NUnit3TestAdapter" version="3.9.0" targetFramework="net461" …
Run Code Online (Sandbox Code Playgroud)

nunit specflow nunit-3.0 visual-studio-2017

8
推荐指数
1
解决办法
1591
查看次数