NUnit详细使用方法(7)

发表于:2011-05-08来源:不详作者:领测软件测试网采编点击数: 标签:
Suite Attribute 1namespace NUnit.Tests 2{ 3using System; 4 using NUnit.Framework; 5 6 7 8 public class AllTests 9 { 10 [Suite] 11 public static TestSuite Suite 12 { 13 get 14 { 15 TestSuite suite = ne

  Suite Attribute

1namespace NUnit.Tests
2{
3using System;
4 using NUnit.Framework;
5
6
7
8 public class AllTests
9 {
10 [Suite]
11 public static TestSuite Suite
12 {
13 get
14 {
15 TestSuite suite = new TestSuite("All Tests");
16 suite.Add(new OneTestCase());
17 suite.Add(new Assemblies.AssemblyTests());
18 suite.Add(new AssertionTest());
19 return suite;
20 }
21 }
22 }
23}
24

  Category属性

  对于测试来说,你有的时候需要将之分类,此属性正好就是用来解决这个问题的。

  你可以选择你需要运行的测试类目录,也可以选择除了这些目录之外的测试都可以运行。在命令行环境里 /include 和/exclude来实现。在GUI环境下,就更简单了,选择左边工作域里的Catagories Tab,选择Add和Remove既可以了。

  在上面的例子上做了一些改善,代码如下:

 

1using System;
2using NUnit.Framework;
3
4namespace NUnitQuickStart
5{
6 [TestFixture]
7 public class NumersFixture
8 {
9 private int a;
10 private int b;
11 [SetUp]
12 public void InitializeOperands()
13 {
14 a = 1;
15 b = 2;
16 }
17
18 [Test]
19 [Category("Numbers")]
20 public void AddTwoNumbers()
21 {
22 int sum=a+b;
23 Assert.AreEqual(sum,3);
24 }
25
26 [Test]
27 [Category("Exception")]
28 [ExpectedException(typeof(DivideByZeroException))]
29 public void DivideByZero()
30 {
31 int zero = 0;
32 int infinity = a/zero;
33 Assert.Fail("Should have gotten an exception");
34 }
35 [Test]
36 [Ignore("Multiplication is ignored")]
37 [Category("Numbers")]
38 public void MultiplyTwoNumbers()
39 {
40 int product = a * b;
41 Assert.AreEqual(2, product);
42 }
43
44 }
45

  NUnit-GUI界面如图5-2:

  图5-2:使用Catagories属性的界面

原文转自:http://www.ltesting.net