1
using System;
2
using System.Collections.Generic;
3
using System.Linq;
4
using System.Text;
5
using NUnit.Framework;
6
using System.Diagnostics;
7
using System.Threading;
8
9
namespace Test
10
{
11
/// <summary>
12
/// TestFixture属性标记表示该类是一个带有测试方法的类,注意:
13
/// 该类的访问修饰符必须是public
14
/// </summary>
15
[TestFixture]
16
public class TestClass
17
{
18
19
private string dateTime = DateTime.Now.ToString();
20
private string dateTime2 = DateTime.Now.ToString();
21
/// <summary>
22
/// 构造函数
23
/// </summary>
24
public TestClass() { }
25
26
/// <summary>
27
/// SetUp属性用来修饰方法,修饰后这个方法在每个测试方法被调用之前运行,
28
/// 我们可以用它来初始化设置一些变量,在每个测试方法运行之前赋值。
29
/// </summary>
30
[SetUp]
31
public void Init()
32
{
33
Thread.Sleep(3000);
34
dateTime2 = DateTime.Now.ToString();
35
}
36
37
/// <summary>
38
/// Test属性标记类的某一方法为一个测试方法,注意点有:
39
/// 注意一:此方法所在类是一个标记为TestFixture的类
40
/// 注意二:该方法必须是public修饰
41
/// 注意三:该方法没有任何参数,也不返回任何值
42
/// </summary>
43
[Test]
44
public void Test()
45
{
46
Debug.WriteLine(string.Format("dateTime1:{0}, dateTime2:{1}", dateTime, dateTime2));
47
}
48
49
/// <summary>
50
/// ExpectedException属性表明这个方法会抛出一个预期的异常,
51
/// exceptType参数为期望的异常的精确类型,也可以直接用字符串exceptionName作为参数
52
/// 当抛出预期异常是测试通过,否则测试不通过。
53
/// </summary>
54
[Test]
55
//[ExpectedException(typeof(DivideByZeroException))]
56
[ExpectedException("System.DivideByZeroException")]
57
public void DivideByZero()
58
{
59
int zero = 0;
60
int i = 100;
61
int infinity = i / zero;
62
Assert.Fail("Should have gotten an exception");
63
}
64
65
/// <summary>
66
/// Ignore表示忽略测试该方法
67
/// 运行测试时会返回:
68
/// TestCase 'Test.TestClass.MultiplyTwoNumbers' not executed:
69
/// Multiplication is ignoredTestCase
70
/// 'Test.TestClass.MultiplyTwoNumbers' not executed:
71
/// Multiplication is ignored
72
/// </summary>
73
[Test]
74
[Ignore("Multiplication is ignored")]
75
public void MultiplyTwoNumbers()
76
{
77
decimal amount = 100 * 1.25M;
78
Assert.AreEqual(2, amount);
79
}
80
81
/// <summary>
82
/// TearDown属性用来修饰方法,说明这个方法是在每个测试方法被调用完之后运行的,
83
/// 我们可以用来释放一些暂存的变量。
84
/// </summary>
85
[TearDown]
86
public void Dispose()
87
{
88
//释放一些暂存的变量
89
}
90
}
91
92
93
/// <summary>
94
/// SetUpFixture属性用来修饰类,使用这个属性,在其命名空间下,
95
/// 运行测试则首先运行该类中SetUpAttribute修饰的方法,在运行测
96
/// 试结束则运行该类中TearDownAttribute修饰的方法,注意:
97
/// 一个命名空间下只能有一个SetUpFixtureAttribute修饰的类。
98
/// 类的访问修饰符必须是public
99
/// </summary>
100
[SetUpFixture]
101
public class MyClassSetup
102
{
103
/// <summary>
104
/// 构造函数
105
/// </summary>
106
public MyClassSetup() { }
107
108
/// <summary>
109
///
110
/// </summary>
111
[SetUp]
112
public void SetupMethod()
113
{
114
//
115
}
116
117
[TearDown]
118
public void TearDownMethod()
119
{
120
//
121
}
122
}
123
}
using System;2
using System.Collections.Generic;3
using System.Linq;4
using System.Text;5
using NUnit.Framework;6
using System.Diagnostics;7
using System.Threading;8

9
namespace Test10
{11
/// <summary>12
/// TestFixture属性标记表示该类是一个带有测试方法的类,注意:13
/// 该类的访问修饰符必须是public14
/// </summary>15
[TestFixture]16
public class TestClass17
{18

19
private string dateTime = DateTime.Now.ToString();20
private string dateTime2 = DateTime.Now.ToString();21
/// <summary>22
/// 构造函数23
/// </summary>24
public TestClass() { }25

26
/// <summary>27
/// SetUp属性用来修饰方法,修饰后这个方法在每个测试方法被调用之前运行,28
/// 我们可以用它来初始化设置一些变量,在每个测试方法运行之前赋值。29
/// </summary>30
[SetUp]31
public void Init()32
{33
Thread.Sleep(3000);34
dateTime2 = DateTime.Now.ToString();35
}36

37
/// <summary>38
/// Test属性标记类的某一方法为一个测试方法,注意点有:39
/// 注意一:此方法所在类是一个标记为TestFixture的类40
/// 注意二:该方法必须是public修饰41
/// 注意三:该方法没有任何参数,也不返回任何值42
/// </summary>43
[Test]44
public void Test()45
{46
Debug.WriteLine(string.Format("dateTime1:{0}, dateTime2:{1}", dateTime, dateTime2));47
}48

49
/// <summary>50
/// ExpectedException属性表明这个方法会抛出一个预期的异常,51
/// exceptType参数为期望的异常的精确类型,也可以直接用字符串exceptionName作为参数52
/// 当抛出预期异常是测试通过,否则测试不通过。53
/// </summary>54
[Test]55
//[ExpectedException(typeof(DivideByZeroException))]56
[ExpectedException("System.DivideByZeroException")]57
public void DivideByZero()58
{59
int zero = 0;60
int i = 100;61
int infinity = i / zero;62
Assert.Fail("Should have gotten an exception");63
}64

65
/// <summary>66
/// Ignore表示忽略测试该方法67
/// 运行测试时会返回:68
/// TestCase 'Test.TestClass.MultiplyTwoNumbers' not executed: 69
/// Multiplication is ignoredTestCase 70
/// 'Test.TestClass.MultiplyTwoNumbers' not executed: 71
/// Multiplication is ignored72
/// </summary>73
[Test]74
[Ignore("Multiplication is ignored")]75
public void MultiplyTwoNumbers()76
{77
decimal amount = 100 * 1.25M;78
Assert.AreEqual(2, amount);79
}80

81
/// <summary>82
/// TearDown属性用来修饰方法,说明这个方法是在每个测试方法被调用完之后运行的,83
/// 我们可以用来释放一些暂存的变量。84
/// </summary>85
[TearDown]86
public void Dispose()87
{88
//释放一些暂存的变量89
}90
}91

92

93
/// <summary>94
/// SetUpFixture属性用来修饰类,使用这个属性,在其命名空间下,95
/// 运行测试则首先运行该类中SetUpAttribute修饰的方法,在运行测96
/// 试结束则运行该类中TearDownAttribute修饰的方法,注意:97
/// 一个命名空间下只能有一个SetUpFixtureAttribute修饰的类。98
/// 类的访问修饰符必须是public99
/// </summary>100
[SetUpFixture]101
public class MyClassSetup102
{103
/// <summary>104
/// 构造函数105
/// </summary>106
public MyClassSetup() { }107

108
/// <summary>109
/// 110
/// </summary>111
[SetUp]112
public void SetupMethod()113
{114
//
115
}116

117
[TearDown]118
public void TearDownMethod()119
{120
//
121
}122
}123
}
来源:https://www.cnblogs.com/yqm/archive/2008/09/25/1298910.html
