读此博文需要了解单元测试基本概念及NUnit的的安装。
传送门:单元测试之道(使用NUnit)
throw new ApplicationException("Intentional Exception");
[Test] public void FailingTest() { // Assert.Fail方法可以抛出错误。 Assert.Fail("Intentional failture"); }
// 无法带参执行 // 调用者为ut,参数没有提供 [Test] public void NotRunnableTest(int a) { }
// 用于测试的方法必须是公开的 // 无法进行测试 // 可测试也会报错:method is not public [Test] protected static void MockTest5() { }
// Inconclusive 不确定的结果 [Test] public void InconclusiveTest() { Assert.Inconclusive("No valid data"); }
[Test(Description = "Mock Test #1")] public void MockTest1() { }
// 构造带参数测试 // 多个测试用逗号隔开 [TestFixture(1),TestFixture(2)] public class ParameterizedFixture { public ParameterizedFixture(int num) { } [Test] public void Test1() { } [Test] public void Test2() { } }
// 泛型构造函数也能带参测试 [TestFixture(1), TestFixture("a")] public class GenericFixture<T> { public GenericFixture(T obj) { } [Test] public void Test1() { } [Test] public void Test2() { } }
// 带参函数的测试 [TestCase(4), TestCase(0)] public void Test3(int num) { }
// 带参带返回值的测试 // 必须指定返回值,执行结果和返回值相等,才算正确。 [TestCase(1,1,Result = 3),TestCase(2,2,Result = 4)] public int MethodWithParameters(int x, int y) { return (x + y); }
// 带参函数的测试 // 泛型内置工具不识别,可以用 gui测试 [TestCase(4, 4), TestCase("a", "b")] public void GenericMethod<T>(T x, T y) { }
[Test,Ignore] public void Test1() { }
原文:http://www.cnblogs.com/simple-blog/p/4849661.html