在TFS 2010构建中运行Silverlight单元测试

时间:2011-01-05 13:34:27

标签: silverlight unit-testing tfs2010

我们在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运行这样的异步测试。但我不知道如何用构建开始这个测试。这可能吗?

2 个答案:

答案 0 :(得分:2)

是的,这是可能的。请查看以下解决方案:How to run Silverlight automated tests on TFS build server?

它解释了如何将StatLight(用于运行Silverlight测试的开源工具)和TFS 2010自定义活动结合起来,以便在持续集成时运行Silverlight测试,并在测试失败时通知您。

答案 1 :(得分:0)

我找到了各种解决方案using generic test wrappersmodifying the workflow to use StatLight,但这一切都感觉像是一个大黑客。我没有看到产品组的任何官方指导,这让我相信他们没有想出来。