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
}

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114


115

116

117

118

119

120


121

122

123

来源:https://www.cnblogs.com/yqm/archive/2008/09/25/1298910.html