软件测试-Specflow
文章平均质量分 63
test_2019
这个作者很懒,什么都没留下…
展开
-
Specflow入门-(7)Feature文件中的其他关键字
1. Scenario Template 和 Scenario Outline注意到,我们写的4个Scenario中分别覆盖了四则运算的加减乘除,但每种计算都只列举出了一组测试数据,如何才能在同一个场景中使用多种测试数据?以Add two numbers为例:Scenario: Add two numbers Given I have entered 50 into the calculator...原创 2018-06-12 23:46:09 · 2719 阅读 · 0 评论 -
Specflow进阶-(11)Hook
在编写Scenario的时候,我们为了让场景描述足够简练,可能会隐含一些前置条件,比如下面这个场景Feature: HookScenario: Add goods to shopping car Given I have searched for goods with keywords 'toothbrush' And I have opened the first result Whe...原创 2018-06-16 00:37:24 · 1244 阅读 · 2 评论 -
Specflow入门-(5)Step参数
Feature文件中的Step都是自然语言描述的文本,当然,Step中的参数在Feature文件中也是文本,但是你可能注意到我们在StepDefintion中的第一个Given的参数为整型int [Given("I have entered (.*) into the calculator")] public void GivenIHaveEnteredSomethi...原创 2018-06-08 23:47:50 · 1957 阅读 · 0 评论 -
Specflow入门-(4)Step与StepDefinition的对应关系
至此,我们已经完成了一个将自然语言描述的信息(Feature)转换为一个可执行用例(Test case)的过程。这个过程中,Spec flow就起了一个将自然语言描述的功能说明或用户故事链接到了一个可执行的测试用例的作用。当我们在Feature文件中的某个Step上右击单击转到定义(或使用F12按键),就会跳转到该Step对应的StepDefinition函数这个链接的关系是靠正则表达式去匹配的。...原创 2018-06-08 23:47:35 · 2176 阅读 · 1 评论 -
Specflow入门-(3)简单case的实现及运行
Feature文件已经写好了,Scenario下的Step的Definition也已经完成,但是注意到在ArithmeticFeatureStepDefinition.cs文件中Step的代码并没有做实际的事情,就是说该Step对应的函数并没有依照Step的文字描述信息做对应的事情。现在,我们就开始做这件事。既然是要测试四则运算,我们得提供一个能四则运算的程序。这里我们用一个简单的类来实现该功能:...原创 2018-06-08 12:57:16 · 3353 阅读 · 0 评论 -
Specflow入门-(2)简单case的实现
我们已经创建好了一个空项目,可以为其加入test caseSpecflow中用 .feature 文件包含一个用户故事。使用Gherkin语言规范来描述。我们可以先创建一个feature文件来了解一下。为了使结构清楚,我们将所有feature文件放置在Features文件夹中。一个feature文件只能有一个Feature头,用来描述该feature的名称。可以将该feature理解为一个用户故事...原创 2018-06-08 12:56:21 · 4878 阅读 · 0 评论 -
Specflow入门-(1)环境搭建
BDD的概念想必大家都应该比较清楚了,而Specflow就是依照BDD的指导思想而形成的一种实践工具。Specflow源于Cucumber,概念和用途几乎一样,可以理解为Specflow是.net平台下的Cucumber。准备搭建环境打开Visual Studio 2017,安装Specflow插件关闭VS,插件将提示被安装待安装完毕,启动VS。创建一个名为SpecflowSample的单元测试项...原创 2018-06-08 12:54:45 · 6065 阅读 · 0 评论 -
Specflow进阶-(10)Scope and Tag
你有可能会注意到,Specflow中的StepDefinition是“全局的”。就是说,写好的一个步骤定义,可以在多个Scenario甚至是多个Feature文件中编写Step来使用该步骤定义。试想有这样的需求,有一句Step,模拟手机拨号Given I have dialed number 132098相应地,有StepDefinition [Given(@"I have dial...原创 2018-06-14 00:02:55 · 1173 阅读 · 1 评论 -
Specflow入门-(9)小结
到这里,我们的入门已经结束了,我们已经可以使用Specflow来编写Feature文件,实现BDD格式的case的运行的整个过程了。下面原创 2018-06-13 23:17:00 · 1564 阅读 · 0 评论 -
Specflow入门-(8)运行与调试
目前,我们已经会使用Specflow编写BDD格式的Feature和Scenario了,而Specflow最终生成的testcase也仅限于在VisualStudio的测试资源管理器中执行。而在实际项目的实施阶段,是如何运行这些case呢?1. 运行我们已知的方式,如图在测试资源管理器中就会显示Specflow的测试用例由于我们使用Nunit3作为Specflow的unitTestProvider...原创 2018-06-13 00:37:25 · 1773 阅读 · 0 评论 -
Specflow入门-(6)Specflow与testcase的关系
至此,我们已经可以使用Specflow写一个完整的Feature文件,并添加多个Scenario以及编写Step和StepDefinition来运行testcase了。文本的Feature文件最终是如何变成testcase呢?当你添加了一个Scenario的时候,Specflow会将你的Feature文件解析并生成一个测试类,其名称与该Feature名称相同。例如,添加的Scenario为Feat...原创 2018-06-09 14:05:46 · 1650 阅读 · 1 评论