从官网上下载NUnit.msi,安装完事就可以了。
在vs中新建的项目中加入nunit.framework的引用。
<textarea cols="50" rows="15" name="code" class="c-sharp">class Program { static void Main(string[] args) { Calculator cal = new Calculator(); int result = cal.Add(2, 3); Console.Write(result); } } class Calculator { public int Add(int a, int b) { return a + b; } public int Sub(int a, int b) { return a - b; } }</textarea>
或许我们可以这么做测试,但显然不专业。
我们新建一个类叫CalculatorTest,虽然名字可以随意起,但是最好这么叫,比较明显。注意,这里的测试方法必须是public void,且没有参数的,方法名字可以随意取。而且注意这里判断采用的Assert类。
<textarea cols="50" rows="15" name="code" class="c-sharp">using System; using System.Collections.Generic; using System.Linq; using System.Text; using NUnit.Framework; namespace ConsoleApplication5 { [TestFixture] class CalculatorTest { [Test] public void TestAdd() { Calculator cal = new Calculator(); int result = cal.Add(1, 2); Assert.AreEqual(3, result); } } }</textarea>
写完了,生成项目。在NUnit的 IDE中打开,并找到生成的那个exe文件。IDE中就自动找到了。Run它就可以了。如果发现是绿的,则是好的。
IDE中还有reload,可以在重新build项目之后稍微减少我们的一点工作
<textarea cols="50" rows="15" name="code" class="c-sharp">[TestFixture] class CalculatorTest { [Test] [ExpectedException(typeof(DivideByZeroException))] public void TestDivide() { Calculator cal = new Calculator(); int result = cal.Divide(1, 0); //Assert.AreEqual(3, result); } }</textarea>
这个ExpectedException表示如果没有发生指定的异常,不能过,如果发生了指定了异常,才可以通过。