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 篇相关推荐

  1. BDD - SpecFlow Web UI 测试实践

    BDD - SpecFlow Web UI 测试实践 引言 Selenium & Page Object Model Pattern 被测 Web Application 创建测试项目 创建一 ...

  2. BDD - SpecFlow BDD 测试实践 SpecFlow 模板

    BDD - SpecFlow BDD 测试实践 SpecFlow 模板 引言 安装 SpecFlow's Visual Studio 插件 创建被测程序 创建 SpecFlow 项目 绑定实现第一个 ...

  3. 执行pytest生成测试报告遇到的问题

    执行pytest生成测试报告遇到的问题 不知道从什么时候开始,就出现了下面的错误. DevTools listening on ws://127.0.0.1:55769/devtools/browse ...

  4. 单元测试|unittest生成测试报告

    unittest生成测试报告 测试报告为测试结果的统计即展示,是自动化测试不可或缺的一部分,利用unittest 可以生成测试报告. 使用第三方 HTMLTestRunner 执行测试用例集,生成网页 ...

  5. jmeter脚本结合ant执行测试用例并生成测试报告

    前言:本篇主要讲ant执行测试用例并生成测试报告,至于jmeter脚本本篇文章不多说,不懂的小伙伴可查看我的上篇文章:jmeter环境配置.使用以及参数化之CSV Data Set Config 1. ...

  6. HTMLTestRunner 为什么用PyCharm(Eclipse)执行测试成功但无法生成报告

    在使用unittest+selenium进行自动化测试的时候,预期输出自动化测试报告,但是始终无法在指定package中输出report.html的报告.但是如果把生成report.html单独写进一 ...

  7. 高效测试必学 | 用pytest生成测试报告

    1.pytest-html生成报告 pytest借助pytest-html插件生成测试报告,不用自己编写生成报告代码. github源码地址: https://github.com/pytest-de ...

  8. BDD - Specflow Bindings

    BDD - Specflow Bindings 什么是 Binding Bindings 的类型 Step Definitions hooks Bindings 是全局共享的 什么是 Binding ...

  9. java bdd 框架_开发者测试: 实现BDD测试框架(JSpec)

    There are two ways of constructing a software design. One way is to make it so simple that there are ...

最新文章

  1. 发现的一个翻译的不错的elasticsearch 2.3.3 官方文档的API
  2. UIUC翟成祥教授:用文本透镜拓展人类智能
  3. 【干货分享】流程DEMO-外出申请
  4. 查询删除的外向交货单
  5. SAP UI5 sap.viz.ui5.controls.VizFrame 的 aggregation 之一:dataset
  6. PHP关于VC11,VC9,VC6以及Thread Safe和Non Thread Safe版本选择
  7. mysql 脚本命令大全,linux 常用Mysql脚本命令
  8. 蓝牙学习笔记(四)——AC692x程序烧录
  9. razor 怎样使用session变量_有关 Session 的那些事儿
  10. 【2018】面试复习大纲
  11. Windows类标识符及其妙用
  12. android代码修改view的宽度,代码动态改变view的大小
  13. 同事篇(12年至今)
  14. 北京农村商业银行:应用质量掘金再造“探秘”之旅
  15. Bombermaaan-最好的开源炸弹人游戏(支持AI人机对战,SFC复刻版)
  16. テーブルTVARVとTVARVCについて
  17. easyui 简单风格的遮罩
  18. SVN代码迁移到Gitlab(保留SVN的提交记录)
  19. xmanager登陆linux黑屏,用xmanager软件登陆linux的方法
  20. 8086的储存器编址

热门文章

  1. What’s the Time in English?
  2. 《变形金刚4》玩植入玩过头 红牛、舒化奶……啥都有
  3. 泰拉瑞亚发现服务器_泰拉瑞亚停运公告
  4. 记录基于若依SpringCloud版本的I8n国际化子模块开发
  5. JSP重定向和转发简述以及两者区别
  6. 从苏宁电器到卡巴斯基第12篇:我在苏宁电器当营业员 IV
  7. 抽象(abstract)
  8. QVariant的强大用法
  9. 活体检测算法 python_基于Python、Keras和OpenCV的实时人脸活体检测
  10. 06:PWM与电机驱动【MSP430F5529】