我们在VS 2010中成功运行了一些Silverlight单元测试。 我正在使用Silverlight单元测试框架(http://silverlight.codeplex.com)。
例如:
/// <summary>
/// test the loading of the big org strucutre from the server
/// this operation has a timeout attached.
/// </summary>
[TestMethod]
[Asynchronous]
[TimeoutAttribute(60100)]
public void LoadOrgStructure()
{
_loadOrgStructureStart = getCurrentTicks();
OrgStructureMemberDAC.Instance.GetOrganisationStructure(new EventHandler<GetOrganisationStructureOrgStructureMemberVOCompletedEventArgs>(delegate(object s, GetOrganisationStructureOrgStructureMemberVOCompletedEventArgs e)
{
//only run the following code in time
if (getElapsedMilliseconds(_loadOrgStructureStart) <= 60000)
{
if (e.Error != null)
{
//Clientside error
throw e.Error;
}
else if (e.Result.Error != null)
{
//Serverside error
throw new AssertFailedException(e.Result.Error.Message);
}
else
{
Assert.IsNotNull(e.Result.Result); // there must be root elements
Assert.IsTrue(e.Result.Result.Count > 0);
Assert.IsNotNull(e.Result.Result[0].ChildMemberLstObj); //there must be childs
Assert.IsTrue(e.Result.Result[0].ChildMemberLstObj.Count > 0);
EnqueueTestComplete();
}
}
}));
}
当我在VS 2010中运行此测试时,浏览器窗口打开并且测试成功运行。 现在我想用我的TFS-2010-Build运行这样的异步测试。但我不知道如何用构建开始这个测试。这可能吗?
答案 0 :(得分:2)
是的,这是可能的。请查看以下解决方案:How to run Silverlight automated tests on TFS build server?
它解释了如何将StatLight(用于运行Silverlight测试的开源工具)和TFS 2010自定义活动结合起来,以便在持续集成时运行Silverlight测试,并在测试失败时通知您。
答案 1 :(得分:0)
我找到了各种解决方案using generic test wrappers或modifying the workflow to use StatLight,但这一切都感觉像是一个大黑客。我没有看到产品组的任何官方指导,这让我相信他们没有想出来。