BDD - Specflow BDD 执行测试,生成测试报告 NUnit 篇
BDD - Specflow BDD 执行测试,测试报告 NUnit 篇
- 引言
- Nunit 执行测试
- 安装 NUnit.Console
- 执行 NUnit.Console 命令
- Specflow 生成测试报告
- 对于非 NUnit test
引言
前面有介绍 Specflow 基于不同 Unit Test Provider (Xunit,MSTest,NUnit,SpecRun) 的实践系列:
BDD - SpecFlow BDD 测试实践 SpecFlow + SpecRun
BDD - SpecFlow BDD 测试实践 SpecFlow + Xunit
BDD - SpecFlow BDD 测试实践 SpecFlow 模板
BDD - SpecFlow BDD 测试实践 SpecFlow + MSTest
BDD - SpecFlow BDD 测试实践 SpecFlow + NUnit
上述实践,我们都是通过 Test Explore 界面来执行测试的,其中 BDD - SpecFlow BDD 测试实践 SpecFlow 模板 用到 SpecFlow+ LivingDoc 生成测试报告,BDD - SpecFlow BDD 测试实践 SpecFlow + SpecRun 运行后会自动生成测试报告,剩下 NUnit/MSTest/Xunit 运行测试时不会自动生成测试报告。
参考 Specflow Reporting 主要基于两种 Unit Test Provider,NUnit 和 MsTest。今天来了解一下用 NUnit 命令执行测试以及测试报告的生成。
Nunit 执行测试
Nunit 提供了不同的 Runner,其中 Console Runner, nunit-console.exe 命令是用于批处理执行的。
安装 NUnit.Console
要用 nunit-console.exe 命令,就需要安装 NUnit.Console NuGet 包。我们还是基于 BDD - SpecFlow BDD 测试实践 SpecFlow + NUnit 这个项目装 NUnit.Console
packages.config 文件中有多出这些依赖包:
NUnit.Console 命令所在目录在 C:\Users\userName\ .nuget\packages\nunit.consolerunner\3.15.2\tools
执行 NUnit.Console 命令
NUNIT3-CONSOLE [inputfiles] [options]
可通过 nunit3-console.exe -h 了解更多细节。
执行下面命令:
nunit3-console.exe --labels=All --out=C:\Work\SpecFlowDemo\TestResult\TestResult.txt “–result=C:\Work\SpecFlowDemo\TestResult\TestResult.xml;format=nunit2” C:\Work\SpecFlowDemo\SpecflowNUnit\bin\Debug\SpecflowNUnit.dll
out 参数是保存 txt 测试输出,result 参数是保存具体的测试结果
执行结果:
Specflow 生成测试报告
上面 NUnit.Console 命令产生的两个输出文件,还不是我们想要的测试报告,Specflow 提供生成可接受的 html 格式的测试报告,但是只适用于 Specflow 2 版本,Specflow 3 已经移除了此功能。
specflow.exe 用于生成测试报告,只有 Specflow 2 有这个命令,所以需要装 Specflow 2 版本。在 BDD - SpecFlow BDD 测试实践 SpecFlow + Xunit 项目中装了 Specflow 2.4 版本,所以我们就可以用这个版本了来生成测试报告。
specflow.exe 所在目录在 C:\Users\userName\ .nuget\packages\specflow\2.4.0\tools
可通过 specflow.exe – help 命令了解 specflow.exe 命令。
执行命令生成测试报告:
specflow.exe nunitexecutionreport --ProjectFile C:\Work\SpecFlowDemo\SpecflowNUnit\SpecflowNUnit.csproj --xmlTestResult C:\Work\SpecFlowDemo\TestResult\TestResult.xml --testOutput C:\Work\SpecFlowDemo\TestResult\TestResult.txt --OutputFile C:\Work\SpecFlowDemo\TestResult\CustomSpecflowTestReport.html
其中 --xmlTestResult 参数是 nunit-console 生成的 xml 测试结果, --testOutput 参数是 nunit-console 生成的 txt 测试结果, --OutputFile 参数是 specflow 生成的 html 测试报告。
html 测试报告生成了
html 测试报告内容:
对于非 NUnit test
对于非 NUnit test (MSTest, SpecRun, Xunit), 运行 NUnit console 命令会产生错误“ Either assembly contains no tests or proper test driver has not been found.
” NUnit console 只运行于 NUnit test。
对于 MSTest BDD - SpecFlow BDD 测试实践 SpecFlow + MSTest
对 SpecRun BDD - SpecFlow BDD 测试实践 SpecFlow + SpecRun
对于 Xunit BDD - SpecFlow BDD 测试实践 SpecFlow + Xunit
BDD - Specflow BDD 执行测试,生成测试报告 NUnit 篇相关推荐
- BDD - SpecFlow Web UI 测试实践
BDD - SpecFlow Web UI 测试实践 引言 Selenium & Page Object Model Pattern 被测 Web Application 创建测试项目 创建一 ...
- BDD - SpecFlow BDD 测试实践 SpecFlow 模板
BDD - SpecFlow BDD 测试实践 SpecFlow 模板 引言 安装 SpecFlow's Visual Studio 插件 创建被测程序 创建 SpecFlow 项目 绑定实现第一个 ...
- 执行pytest生成测试报告遇到的问题
执行pytest生成测试报告遇到的问题 不知道从什么时候开始,就出现了下面的错误. DevTools listening on ws://127.0.0.1:55769/devtools/browse ...
- 单元测试|unittest生成测试报告
unittest生成测试报告 测试报告为测试结果的统计即展示,是自动化测试不可或缺的一部分,利用unittest 可以生成测试报告. 使用第三方 HTMLTestRunner 执行测试用例集,生成网页 ...
- jmeter脚本结合ant执行测试用例并生成测试报告
前言:本篇主要讲ant执行测试用例并生成测试报告,至于jmeter脚本本篇文章不多说,不懂的小伙伴可查看我的上篇文章:jmeter环境配置.使用以及参数化之CSV Data Set Config 1. ...
- HTMLTestRunner 为什么用PyCharm(Eclipse)执行测试成功但无法生成报告
在使用unittest+selenium进行自动化测试的时候,预期输出自动化测试报告,但是始终无法在指定package中输出report.html的报告.但是如果把生成report.html单独写进一 ...
- 高效测试必学 | 用pytest生成测试报告
1.pytest-html生成报告 pytest借助pytest-html插件生成测试报告,不用自己编写生成报告代码. github源码地址: https://github.com/pytest-de ...
- BDD - Specflow Bindings
BDD - Specflow Bindings 什么是 Binding Bindings 的类型 Step Definitions hooks Bindings 是全局共享的 什么是 Binding ...
- java bdd 框架_开发者测试: 实现BDD测试框架(JSpec)
There are two ways of constructing a software design. One way is to make it so simple that there are ...
最新文章
- 发现的一个翻译的不错的elasticsearch 2.3.3 官方文档的API
- UIUC翟成祥教授:用文本透镜拓展人类智能
- 【干货分享】流程DEMO-外出申请
- 查询删除的外向交货单
- SAP UI5 sap.viz.ui5.controls.VizFrame 的 aggregation 之一:dataset
- PHP关于VC11,VC9,VC6以及Thread Safe和Non Thread Safe版本选择
- mysql 脚本命令大全,linux 常用Mysql脚本命令
- 蓝牙学习笔记(四)——AC692x程序烧录
- razor 怎样使用session变量_有关 Session 的那些事儿
- 【2018】面试复习大纲
- Windows类标识符及其妙用
- android代码修改view的宽度,代码动态改变view的大小
- 同事篇(12年至今)
- 北京农村商业银行:应用质量掘金再造“探秘”之旅
- Bombermaaan-最好的开源炸弹人游戏(支持AI人机对战,SFC复刻版)
- テーブルTVARVとTVARVCについて
- easyui 简单风格的遮罩
- SVN代码迁移到Gitlab(保留SVN的提交记录)
- xmanager登陆linux黑屏,用xmanager软件登陆linux的方法
- 8086的储存器编址