默认情况下,vs2010并不能创建"Silverlight的单元测试"项目,不是vs2010做不到,只是MS没有推出模板而已。没关系,在联机模板里下载一个,如下图:

Silverlight单元测试_自动化测试

安装完成以后,就能创建SL单元测试项目了,如下图

Silverlight单元测试_自动化测试_02

小试一把:

先创建一个SL类库项目,名为SLTools,里面写几行测试代码:



namespace SLTools
{
public static class MathHelper
{
public static int Add(int a, int b)
{
return a + b;
}
}
}


然后再创建一个SL单元测试项目,名为SLUnitTest,创建一个测试类,代码如下:




using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using SLTools;

namespace SLUnitTest
{
[TestClass]
public class MathHelperUnitTest
{

[TestMethod]
public void TestAddMethod()
{
Random rnd = new Random();
for (int i = 0; i < 10; i++)
{
int a = rnd.Next();
int b = rnd.Next();
Assert.AreEqual(MathHelper.Add(a, b), (a+b));
}
}
}
}


F5,跑一下:


Silverlight单元测试_web前端_03


后记:单元测试其实对于SL这类web前端技术来讲,个人觉得作用有限。象最常用的wcf异步调用就没办法做单元测试,真正有意义的测试,必须是“基于最终UI页面的自动化测试”,这类产品目前一般是借助于第三方实现的,下一篇再讲。


作者:菩提树下的杨过