单元测试方法之间没有依赖关系
一个方法可能对应多个测试方法
[TestFixture]类前标注时NUnit会自动加载该类
[Test]标注测试方法。测试方法必须为public,
void
,没有参数
[Ignore]忽略
[ExpectedException]捕捉异常
[Explicit]当整个类测试时 该测试不执行,只有当单独执行该方法时才会执行
[SetUp] 初始化 每个Test都会执行一次
[TearDown]资源释放 每个Test都要执行一次
[TestFixtureSetUp]类初始化,类共享,只执行一次,最新执行
[TestFixtureTearDown]类资源释放,类共享,只执行一次,最后执行
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Text;
using
NUnit.Framework;
using
System.IO;
using
System.Xml;
using
System.Web;
namespace
MyStackTestProject
{
[TestFixture]
public
class
LargestTest
{
private
Largest large;
[SetUp]
public
void
Init()
{
large
=
new
Largest();
}
///
<summary>
///
用txt存储测试数据
///
</summary>
[Test]
public
void
GetLargestUseTxtTest()
{
//
如果path="LargestTest.txt"
//
System.IO.FileNotFoundException : 未能找到文件“E:\实例验证\泛型\MyStackTestProject\bin\Debug\LargestTest.txt
StreamReader s
=
new
StreamReader(
"
http://www.cnblogs.com/LargestTest.txt
"
);
string
line
=
null
;
while
((line
=
s.ReadLine())
!=
null
)
{
if
(line.StartsWith(
"
#
"
))
continue
;
string
[] array
=
line.Split(
null
);
int
expected
=
int
.Parse(array[
0
]);
List
<
int
>
list
=
new
List
<
int
>
();
foreach
(
string
arr
in
array)
{
if
(
!
arr.Equals (
""
))
list.Add(
int
.Parse(arr));
}
int
result
=
large.GetLargest(list.ToArray());
Assert.AreEqual(expected, result);
}
s.Close();
}
///
<summary>
///
用xml文件存储测试数据
///
</summary>
[Test]
public
void
GetLargestUseXmlTest()
{
XmlDocument doc
=
new
XmlDocument();
doc.Load(
"
http://www.cnblogs.com/LargestTest.xml
"
);
XmlNodeList list1
=
doc.ChildNodes;
foreach
(XmlNode n1
in
list1)
{
if
(n1.Name
==
"
TestData
"
)
{
XmlNodeList list2
=
n1.ChildNodes;
foreach
(XmlNode n2
in
list2)
{
XmlNodeList n3
=
n2.ChildNodes;
string
expected
=
n3[
0
].InnerText;
string
strArray
=
n3[
1
].InnerText ;
string
[] array
=
strArray.Split(
null
);
List
<
int
>
list
=
new
List
<
int
>
();
foreach
(
string
arr
in
array)
{
list.Add(
int
.Parse(arr));
}
int
result
=
large.GetLargest(list.ToArray());
Assert.AreEqual(
int
.Parse (expected), result);
}
}
}
}
}
}