标签: specflow

使用TestDriven.Net的Specflow错误 - 找不到类型

我是第一次尝试Specflow,并创建了一个VS2010项目,引用了TechTalk.SpecFlow,以及nunit.framework.我添加了一个示例功能文件:

Feature: Addition
    In order to avoid silly mistakes
    As a math idiot
    I want to be told the sum of two numbers

@mytag
Scenario: Add two numbers
    Given I have entered 50 into the calculator
    And I have entered 70 into the calculator
    When I press add
    Then the result should be 120 on the screen
Run Code Online (Sandbox Code Playgroud)

当我执行测试(使用TestDriven.Net)时,我收到以下错误:

Test 'T:SpecFlowFeature1' failed: Couldn't find type with name 'SpecFlowFeature1'
System.Exception: Couldn't find type with name 'SpecFlowFeature1'
at MutantDesign.Xml.Documentation.MemberInfoUtilities.FindMemberInfo(Assembly assembly, String cref)
at …
Run Code Online (Sandbox Code Playgroud)

testdriven.net specflow

3
推荐指数
1
解决办法
1276
查看次数

小黄瓜规格中步骤之间的强耦合

我正在使用specflow指定我的应用程序,它只是让我从做非常糟糕的事情,所以我真的很喜欢它:-)但是我对步骤之间的耦合有问题:例如,因为我在一个人中使用模拟器我告诉模拟它应该返回一个实体,但在另一个我告诉模拟返回相同的实体,但与另一个属性.

看看这一步(从以下Darrens的答案中被盗并修改):

Given a guy the following guy exists:  
| Name     | Age | Salary |  
| John Doe | 42  | 400    |  
When his salary changes to 420  
And I run the paycheck program  
Then he should be paid 420
Run Code Online (Sandbox Code Playgroud)

看到这里我从一个Guy对象开始,然后修改对象 - 这是我正在测试的东西.

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

当然,我可以在方案类中保留一个局部变量,并将所有实体放在该变量中,但我会将这些步骤结合起来.

cucumber specflow gherkin

3
推荐指数
1
解决办法
1396
查看次数

如何在测试运行时报告SpecFlow场景?

我已经设法调整了我的SpecFlow测试的输出,以便它可以很好地读取,只需报告步骤和失败.但是,如果没有报告功能和场景名称,它仍然是不可读的.

查看生成的代码,看起来Feature和Scenario名称被编码为NUnit DescriptionAttributes.

我可以配置SpecFlow或NUnit来向stdout报告这些,所以我得到了一个非常流畅的"故事式"输出吗?

nunit specflow

3
推荐指数
1
解决办法
4915
查看次数

在SpecFlow Step Binding类中访问TestContext

是否可以从SpecFlow(1.7.1)步骤绑定类中访问MSTest TestContext?在生成的特征文件代码中有一个方法FeatureSetup,它将TestContext作为参数,但显然不对它做任何事情.

mstest specflow

3
推荐指数
1
解决办法
2278
查看次数

您如何管理bdd功能和方案?

我们正在使用specflow采用BDD.我们遇到的问题是不能期望产品所有者和管理者进入Visual studio/svn并编辑功能或场景.

我们可以让pm在Google文档中完成所有操作,然后我们可以将它们复制并粘贴到功能文件中,但这很容易出错并且会很快失去同步.

管理这个的最佳做法是什么?

.net testing bdd behavior specflow

3
推荐指数
1
解决办法
1699
查看次数

方法'Given'的重载没有4个参数-Specflow

我已经安装了specflow。默认情况下,我得到这种情况下要加上两个数字。构建解决方案时,出现这些错误。“方法'Given'的重载不接受4个参数”。我在这里想念什么?这是生成的文件。

public virtual void AddTwoNumbers()
        {
            TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Add two numbers", new string[] {
                        "mytag"});
            #line 7
            this.ScenarioSetup(scenarioInfo);
            #line 8
             testRunner.Given("I have entered 50 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given ");
            #line 9
             testRunner.And("I have entered 70 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And ");
            #line 10
             testRunner.When("I press add", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When ");
            #line 11
             testRunner.Then("the result should be 120 on the screen", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then ");
            #line hidden

            this.ScenarioCleanup();
        }
Run Code Online (Sandbox Code Playgroud)

对于这种情况:

功能:SpecFlowFeature1为避免愚蠢的错误作为数学白痴,我想被告知两个数字的总和

@mytag方案:将两个数字相加,因为我已经在计算器中输入了50,并且已经在计算器中输入了70。

specflow nuget

3
推荐指数
1
解决办法
2442
查看次数

数据列表作为specflow测试步骤中的参数

我正在寻找一种方法来进行步骤定义,例如:

给出了1,2,3,4的数字集合

并使用int [],List或IEnumerable将其映射到步骤定义

正则表达式(\ d +(,\n +)*)匹配,但意味着我需要两个参数.

目前我有

[Given(@"a collection of numbers (\d+(,\d+)*)")]
public void givencollectionofnumbers(string p0, string p1)
{
    //p0 is "1,2,3,4"
    //p1 is ",4"
}
Run Code Online (Sandbox Code Playgroud)

我有一个简单的workarouns

[Given(@"a collection of numbers (.*)")]
public void givencollectionofnumbers(string p0)
{
    var numbers = p0.Split(',').Select(x => int.Parse(x));
}
Run Code Online (Sandbox Code Playgroud)

但我想以更优雅的方式做到这一点,可能会将数字的类型改为双打,并确保正则表达式仅列出数字列表.

我也不想使用表格,因为对于简单的数据列表来说似乎过多了

有人能帮忙吗

c# regex bdd acceptance-testing specflow

3
推荐指数
1
解决办法
4098
查看次数

如何格式化specflow .feature文件

这可能听起来很傻但是有没有办法格式specflow .feature文件?在.cs文件中我可以做ctrl + E ctrl + DI必须手动格式化我的表格,这是一项可怕的工作.

我不确定这是否与我的VS2013设置有关,但是Given,And和Then步骤根本不会崩溃和扩展.谢谢

specflow visual-studio-2013

3
推荐指数
2
解决办法
4865
查看次数

使用selenium C#在文本字段上执行键盘描边"Ctrl + A""Ctrl + C"和"Ctrl + V"

如何只想在文本框中输入值,使用"Ctrl + a"从文本框中选择完整的文本,然后使用"Ctrl + c"复制它,然后使用"Ctrl + v"将其粘贴到同一个框中"使用Selenium + C#.

c# selenium specflow selenium-webdriver

3
推荐指数
1
解决办法
9705
查看次数

Visual Studio中的Specflow功能文件中没有颜色

我安装了最新版本的SpecFlow,但功能文件显示仍然没有颜色,就像这样......

(插入图像的代表不够)

Specflow无色功能文件

是否为Specflow文件中显示的颜色设置了某些配置?

VS2015 Specflow 2.1

.net c# visual-studio specflow gherkin

3
推荐指数
1
解决办法
7620
查看次数