1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Text;
5using NUnit.Framework;
6using System.Diagnostics;
7using System.Threading;
8
9namespace 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}
2using System.Collections.Generic;
3using System.Linq;
4using System.Text;
5using NUnit.Framework;
6using System.Diagnostics;
7using System.Threading;
8
9namespace 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}
来源:https://www.cnblogs.com/yqm/archive/2008/09/25/1298910.html