了解MbUnit
MbUnit是一套支持.Net的改进单元测试框架,目标是使最终用户拥有高度一致的test fixtures,使开发人员可以创建新的可定制化的fixtures而无需更改核心部分。MbUnit基于一种C#的图形库QuickGraph。
与其他单元测试工具(NUnit和csUnit)所不同的是,MbUnit的诞生来自这样一个简单的设想:一个新的测试流程可被整合到已有的框架下。MbUnit采用了简单测试模式(Simple Test Pattern),提供一些新的流程类型,比如TypeFixture可使测试针对一个特定的类型实例(instance)。
开发状态
* 开发状态:4 - Beta
* 运行环境:Win32 (MS Windows)
* 目标用户:开发人员,最终用户/桌面
* 许可协议:zlib/libpng License
* 操作系统:Windows
* 开发语言:.Net(C#)
* 主 题:libraries, testing
整体测试框架
TypeFixture:用于特定类型的实例(对接口测试非常有用);
EnumerationFixture:测试IEnumerable/IEnumerator的执行情况;
OrderedCollectionFixture:对集合进行有序测试;
ProcessFixture:执行多个测试(测试一个序列)。
GUI 与运行测试
可装入多个测试文件,由Reflection 导航栏解压出test fixtures。
以独立线程执行所有的测试,从而保持GUI处于活动状态。
可定制进度条:成功、失败、忽略和not run count。
异常情况的浏览,控制台结果输出,控制台错误输出。
IDE环境类应用采用Magick 库。
内嵌的报告机制。
支持Visual Studio插入技术:通过组件、命名空间或者fixture,来选择测试文件,然后借助NunitAddIn,在Visual Studio中直接运行。
支持NAnt任务。
3. QuickGraph 特性
QuickGraph是采用C#编写的通用图形库,其最初萌芽来自另外一个库(boost graph library)。MbUnit中用它来创建和浏览fixtures。QuickGraph库调用了通用的图形数据结构和许多算法,例如最短路径、最大流和随机漫步算法等。
丰富的图形概念定义。
支持AdjacencyGraph和 BidirectionalGraph。
-
Filtered graphs,traversals:
深度优先搜索与广度有限搜访;
拓扑排序,强连接;
Dijkstra最短路径;
随机漫步与树产生算法;
最大流算法:Edmund Karp 和Push Relabel;
图形克隆;
相似度计算;
图形压缩。
可定制图形的顶点与边。
可序列化为GraphML或者其他XML格式。
支持Graphivz输出。
通过Netron库与Windows格式的整合。
4. 结果输出
报告产生器在提交报告之前,测试结果可被序列化为XML。目前支持以下输出格式:
安装要求
如前所述,MbUnit是支持微软VS.Net的改进的测试软件,可以选择你喜欢的任何.net语言(如C#)。推荐安装最新版的Visual Studio.Net版本以利用最新的功能。
安装
在最新版本的压缩包中,MbUnit最重要的特性已被编译成.dll和.exe文件。我建议将解压后的文件夹拷贝到Visual Studio的安装目录下,或者设置VS的搜索路径,使其指向MbUnit目录。
Copy [MbUnit安装目录] [VS目录]
创建工程时,声明所需的dll文件,即可使用其中的class。重要的dll有MbUnit.Core.dll、MbUnit.Framework.dll等。包中的MbUnit.GUI.exe等文件可直接运行。
下面所列的一个简单的具有代表性的例子或许可以给你帮助。
1. 使用MbUnit的一个简单TestFixture
以下是创建你的第一个MbUnit TestFixture的步骤说明(NUnit和csUnit的用户注意,其语法是相同的)
第一步:创建工程
- 用你喜欢的.Net语言创建一个库工程(组件)(此处选用C#).
-
加入以下引用说明:
-
MbUnit.Core.dll
-
MbUnit.Framework.dll
第二步:创建TestFixture类
创建一个新类MyFirstTest,标签属性设置为TestFixture。从而告诉MbUnit这个类中包含了所要进行的测试项目。
using MbUnit.Core.Framework;
using MbUnit.Framework;
[TestFixture("This is my first test")]
public class MyFirstTest
{
}
第三步: 加入测试的方法(method)
此时,MyFirstTest尚未任何的测试语句。我们增加一个method验证1+1=2——加入方法OnePlusOneEqualTwo,你可在该方法中使用Assert 静态帮助类中提供的断定检查语句:
[TestFixture("This is my first test")]
public class MyFirstTest
{
[Test]
public void OnePlusOneEqualTwo()
{
Assert.AreEqual(2, 1+1, "This is an error message");
}
}
方法OnePlusOneEqualTwo的属性非常关键,它必须是
public void MethodName(void);
第四步:运行测试
完成上述组件的编译后,启动MbUnit GUI界面,将dll文件拖放进去或者使用菜单来装载测试组件。测试文件树结构将立即显示在窗口中:GUI扫描所装入的文件,查找标签属性TestFixture,然后生成树型结构,而各个结点对应着命名空间。
点击run启动测试。如果执行测试成功,则树型结构中的图标和父控件的背景变为绿色,而如果测试失败,背景均变为红色。
要查找关于执行失败的更多信息,点击失败的结点(inode),查看对应的异常情况。
2.类与接口
查看MbUnit和QuickGraph中详细的类和接口的定义,请参考包中的两个帮助文件:
MbUnit.Documentation.chm
QuickGraph.Documentation.chm
http://www.dotnetwiki.org/Default.aspx?tabid=52。
相关链接:
http://mbunit.tigris.org。
Mail to: pelikhan@tigris.org。
http://mbunit.tigris.org
http://blog.dotnetwiki.org/category/14.aspx
http://blog.dotnetwiki.org/archive/2004/04/27/168.aspx
http://blog.dotnetwiki.org/archive/2004/04/30/176.aspx
http://www.testdriven.com/modules/news/article.php?storyid=58
http://blog.dotnetwiki.org/archive/2004/05/19/241.aspx
分享到:
相关推荐
☆ 资料说明:☆ The Gallio Automation Platform is an open, extensible, and neutral system for .NET that provides a common object model, runtime ...MbUnit 下载网址: http://gallio.org/Downloads.aspx
MbUnit测试框架所需dll Version:2.4.2.175
MbUnit测试框架所需dll Version:3.2.749.0
**MbUnit:高级开源单元测试框架** MbUnit 是一个强大的开源单元测试框架,它为.NET开发者提供了丰富的功能,使得测试代码更加便捷、高效。作为一款高级的测试工具,MbUnit 超越了传统的单元测试框架,引入了诸如...
在本文中,我们将深入探讨如何使用路由的UI命令和MbUnit框架来开发和测试WPF(Windows Presentation Foundation)应用程序。WPF是.NET Framework 3.5的一个重要组件,它为构建丰富的桌面应用提供了强大的功能,包括...
在本描述中,提到了几个特定的模板类型:Powershell、NUnit测试和MBUnit测试,这些都是在.NET开发中常见的工具和框架。 1. **Powershell**:PowerShell是一种基于.NET Framework的命令行脚本环境,主要用于系统管理...
## 分别检查您使用的 MBUnit 或 NUnit 的版本。 使用 MBUnit,每当新版本出现时,项目都需要重新编译。 与 NUnit 可能是相同的情况(尚未验证)。 ##下载 ##Adapter 不起作用? 分别检查您使用的 MBUnit 或 NUnit ...
这是什么,为什么我需要这个? 有关背景信息,用法文档,可扩展性指南,支持信息以及更多提示和技巧,请参见 。 我该如何构建? 安装Visual Studio 2019或JetBrains Rider 2017.1和Build Tools 2017并运行 ...
TestDriven.NET原来叫做NUnitAddIn,它是个Visual Studio插件,集成了如下测试框架:NUnit、MbUnit、 ZaneBug、MSTest、NCover、NCoverExplorer、Reflector、TypeMock、dotTrace和MSBee,它主要面向使用TDD的开发者...
接触NET有几年了,随着对NET的逐渐了解,看到一个很有意思的现象,就是好多平台的框架,组件很容易移植到NET平台,如Junit, Lucene,Ant,WatiR,Hibernate,Log4等等,但好多后来就沉了如NetBPM,BugNet,MBUnit, Sharp...
此外,TestDriven.NET 随附了功能完整的 NUnit 和 MbUnit 单元测试框架版本,同时还包括了用于执行 Visual Studio Team System 单元测试的适配器。这些组件将被安装在 TestDriven.NET 目录下的子文件夹中(如图1所示...
TestDriven.NET 是一款优秀的...它以插件的形式集成在Visual Studio.NET IDE中的单元测试工具,能够兼容各种Visual Studio版本,并且集成了多种单元测试框架诸如NUnit,MbUnit,以及Visual Studio Team System适配器等
跟NUnit、MbUnit和MSTest不 同,测试类并没有任何标志。xUnit.net直接在程序集中查找所有公开类的全部公开测试方法。相关教程:...
它是以插件的形式集成在Visual Studio.NET IDE中的单元测试工具,能够兼容各种Visual Studio版本,并且集成了多种单元测试框架诸如NUnit,MbUnit,以及Visual Studio Team System适配器等。 软件大小:3470KB 软件...
NUnit Test Generator是一个自动生成测试用例的工具,可以编辑... I was manually writing Unit Tests as MBUnit does not come with an in built generator. I would strongly reccomend it to anybody. Give it a go.
8)支持nunit,dunit,vs unittest,xunit,mbunit 总结下来,你能想到的,基本他都支持,他不支持的,可以用插件迅速集成扩展 还在等什么,赶紧建一个自动化编译部署环境,把Dev-QA-STAGING-PROD,管理器里 注意点:...