如何在VS2010中对Silverlight 3进行单元测试?

时间:2010-06-29 20:52:13

标签: silverlight unit-testing visual-studio-2010 silverlight-3.0

我目前正在开发一个使用Silverlight 3 SDK的项目,我想为我的Silverlight代码创建单元测试。我希望这些测试不必在浏览器上下文中运行。我引用了SDK中的Silverlight单元测试二进制文件(Microsoft.Silverlight.Testing和Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight),它给了我编写测试所需的框架(测试属性存在)。

我目前遇到的问题是Silverlight中的单元测试未被任何测试运行者识别。 Test-Driven.NET只运行最基本的单元测试(即没有TestInitialize方法),Visual Studio 2010的测试运行器根本不会感知任何测试运行。例如,即使这个简单的单元测试也不会运行:

using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace SlUnitTests
{
    [TestClass]
    public class Class1
    {
        [TestMethod]
        public void Test1()
        {
            Assert.Fail();
        }
    }
}

有什么想法吗?


编辑:

我忘了提到这个项目最初是一个Visual Studio 2008项目。我使用相同的Silverlight 3 SDK在VS2008中对Silverlight进行了这些单元测试,它们运行得很好。命令行上的ReSharper测试运行器和MSTest都能够运行基于Silverlight的单元测试 - 不需要浏览器上下文。当我的项目转换为VS2010时,Silverlight单元测试中断了。 对不起,感到困惑。

1 个答案:

答案 0 :(得分:0)

遗憾的是,使用这些程序集无法轻松集成到标准(非浏览器)界面中。

如果您需要运行基本代码(没有用户界面代码;没有任何使用System.Windows)的一个选项,您可以在Visual Studio中为完整的.NET创建适当的类库和/或测试项目,然后“{来自Silverlight项目的源文件中的{3}}。

相关问题