BDD - Specflow BDD 执行测试,生成测试报告 NUnit 篇

引言

前面有介绍 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

在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值