NANT + Nunit + NUnit2Report
来源:互联网 发布:气象站点数据下载 编辑:程序博客网 时间:2024/05/21 20:28
好久没用 Java 了。 最近听一同事在诉苦。
说他那里用 Java 的 ANT 与 JUnit .
junitreport 想导出一个 HTML 格式的测试报告,老是出错。
想想
Java 有 ant, .NET 有 NANT
Java 有 junit .NET 有 NUNIT
Java 有 junitreport .NET 应该也有的吧......
于是查询一下, 还真有。
名字就叫 NUnit2Report
整个环境搭起来,也还可以。
NANT 嘛, 是下载了一个 nant-0.91-bin.zip
简单解压缩到 D:\nant-0.91
然后去创建一个 nant.bat
内容为:
"D:\nant-0.91\bin\NAnt.exe" %*
NUNIT 嘛, 是下载一个 NUnit-2.5.7.10213.msi
使用默认安装。
NUnit2Report 嘛,是下载一个 NUnit2Report-V1.2.2.zip
解压缩以后,看看文档, 就是简单的把 bin 目录下的文件, 复制到 D:\nant-0.91\bin 目录下就好了。
下面是一个小例子, 文件名为 my.build
<?xml version="1.0" encoding="utf-8" ?>
<!--
NANT 的 build 文件, 扩展名为 .build
不同于 java 的 ant 的 build.xml
-->
<!--
project表示构建文件的项目,每个构建文件有且只有一个项目,他包括一系列的target
default=" show "表示项目的默认目的(target)是show
basedir="." 表示基准目录为当前目录
-->
<project name="B0100_NAnt" default="show" basedir=".">
<property name="basename" value="HelloNAnt" />
<property name="debug" value="true" />
<!--
target 表示一个目的,他包括一系列的task,
name="show"指定目的的名称,这个是必选的。
-->
<target name="show">
<!--
echo是一个任务(task)他用来显示一个特定的字符串,
message="Hello NAnt"表示要显示的字符串为Hello NAnt。
-->
<echo message="Hello NAnt"/>
</target>
<!-- 编译文件 -->
<target name="build">
<mkdir dir="bin" />
<csc target="exe" output="bin/${basename}-cs.exe" debug="${debug}">
<sources>
<include name="*.cs"/>
</sources>
<references>
<include name="C:\Program Files (x86)\NUnit 2.5.7\bin\net-2.0\framework\nunit.framework.dll" />
</references>
</csc>
</target>
<!--运行文件,run基于build-->
<target name="run" depends="build">
<exec program="bin/${basename}-cs.exe" basedir="."/>
</target>
<!-- 单元测试 -->
<target name="unittest" depends="build">
<!-- 调用 Nunit 进行测试 -->
<nunit2>
<!-- 输出的文件为 XML 格式. -->
<formatter type="Xml" usefile="true" extension=".xml" outputdir="bin/results" />
<test assemblyname="bin/${basename}-cs.exe" >
<references>
<include name="C:\Program Files (x86)\NUnit 2.5.7\bin\net-2.0\framework\nunit.framework.dll" />
</references>
</test>
</nunit2>
<!-- 根据 前面的测试结果 XML 文件, 产生 html 报表. -->
<nunit2report out="NUnitReport.html" >
<fileset>
<include name="bin/results/*results.xml" />
</fileset>
</nunit2report>
</target>
</project>
C# 的单元测试代码,就没另外写了, 我找个别的项目的单元测试代码,复制过来了。 就用 LINQ 基本方法的使用例子 这个了。
测试的时候,发现 nant 里面调 nunit 的时候, 某些 标记为 [ExpectedException(typeof(System.InvalidOperationException))] 的 测试。 失败了。
具体原因不明,暂时先注释掉。
运行:
D:\Code\my-csharp-sample\B0100_NAnt>nant unittest
D:\Code\my-csharp-sample\B0100_NAnt>"D:\nant-0.91\bin\NAnt.exe" unittest
NAnt 0.91 (Build 0.91.4312.0; release; 2011/10/22)
Copyright (C) 2001-2011 Gerry Shaw
http://nant.sourceforge.net
Buildfile:
Target framework: Microsoft .NET Framework 4.0
Target(s) specified: unittest
build:
unittest:
BUILD SUCCEEDED
Total time: 0.8 seconds.
生成的 HTML 看上去还不错。
- NANT + Nunit + NUnit2Report
- Nant和Nunit和Nunit2Report联合使用
- 第一次用Nant和Nunit构建C#项目
- Continuous Integration using CruiseControl.NET, NANT, P4, and NUnit
- NAnt
- Nant
- Open Source .NET Development : Programming with NAnt, NUnit, NDoc, and More
- NUnit
- Nunit
- NUNIT
- NUnit
- NAnt小贴士
- NAnt 简介
- Nant 使用
- Nant参考手册
- 通过实例学NAnt
- 使用NAnt构建入门
- Nant daily build实践
- Lance老师UI系列教程第八课->新浪新闻SlidingMenu界面的实现
- U盘安装Fedora 16
- MFC中OnTimer的应用
- 移动平台触屏手机网站前端开发技巧
- Handler sendMessage 与 obtainMessage (sendToTarget)比较
- NANT + Nunit + NUnit2Report
- 伸展树(Splay tree)
- 一个站长地呼吁:请给原创一片天
- Java线程之守护线程(Daemon)
- 当博客都不给链接以后
- [原创]如何提供C++到lua的接口
- python 时间
- Android app 使用webview
- CountDownLatch实现主线程等待所有子线程运行结束后再继续执行的实现