如果您能提供一些指针和链接,我将不胜感激。
谢谢, Nath
Nath, Silverlight控件工具包使用它。为什么不去看看那里的单元测试呢?
0.) 关闭您的Silverlight项目。
1.) 在此处下载Silverlight 5工具包 here 并安装它。
2.) 打开Windows资源管理器,进入C:并搜索这两个文件:
Microsoft.Silverlight.Testing.dll
Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.dll
如果你找不到它们,那么有问题了。
3.) 在GAC中注册这两个DLL。请执行以下操作:
以管理员身份打开Visual Studio控制台。复制每个语句并在控制台中执行:
gacutil /i "C:\Program Files\Microsoft SDKs\Silverlight\v5.0\Toolkit\dec11\Testing\Microsoft.Silverlight.Testing.dll"
gacutil /i "C:\Program Files\Microsoft SDKs\Silverlight\v5.0\Toolkit\dec11\Testing\Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.dll"
请记住,DLL的路径可能在您的计算机上不同。只需输入适合您计算机的正确路径即可。
4. 打开您的Silverlight项目,并将上述两个DLL作为参考添加到Silverlight项目中。不要添加到您的Web项目中。
5. 将以下类添加到您的项目中。放在哪里都可以。我有一个额外的用于测试的文件夹,但这并不重要。
using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Silverlight.Testing;
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace Test
{
[TestClass]
public class Test_Svc_Login
{
[TestMethod]
public void Always_True()
{
Assert.IsTrue(true);
}
[TestMethod]
public void Always_False()
{
Assert.IsTrue(false);
}
[TestMethod]
public void Even_MoreAlways_False()
{
Assert.IsTrue(false);
}
}
}
this.RootVisual = new Gui.MainPage();
#if DEBUG
if (System.Diagnostics.Debugger.IsAttached)
{
//You hit F5 ONLY
this.RootVisual = new Gui.MainPage();
}
else
{
//You hit CTRL + F5
RunUnitTests();
}
#else
//You are in Release Mode. You hit whatever you want.
this.RootVisual = new Gui.MainPage();
#endif
private void RunUnitTests()
{
#if DEBUG
//You hit CTRL + F5
var settings = new UnitTestSettings();
settings.TestHarness = new UnitTestHarness();
settings.StartRunImmediately = true;
settings.TestAssemblies.Add(Assembly.GetExecutingAssembly());
this.RootVisual = UnitTestSystem.CreateTestPage(settings);
#endif
}