【问题标题】:How Do I Unit Test Silverlight 3 in VS2010?如何在 VS2010 中对 Silverlight 3 进行单元测试?
【发布时间】:2010-06-30 21:10:04
【问题描述】:

我目前正在开发一个使用 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 单元测试中断了。 很抱歉造成混乱。

【问题讨论】:

  • 您特别提到了 Visual Studio 2010。这是否意味着他们在 2008 年工作?
  • 是的,如果我不清楚,对不起。我将编辑我的帖子以更好地反映问题的背景。

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


【解决方案1】:

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

如果您需要练习基本代码(无用户界面代码;不使用 System.Windows),则可以选择一个选项,您可以在 Visual Studio 中为完整的 .NET 创建适当的类库和/或测试项目,然后“@ 987654321@" 在 Silverlight 项目的源文件中。

【讨论】:

  • 这是否适用于 Visual Studio 2008 和 2010?在收到评论后我编辑了我的问题,包括我让这种技术在 Visual Studio 2008 中工作。ReSharper 的测试运行器和 MSTest 都将在浏览器上下文之外运行基于 Silverlight 的单元测试。
猜你喜欢
  • 1970-01-01
  • 2020-10-09
  • 1970-01-01
  • 1970-01-01
  • 2010-12-13
  • 2021-10-07
  • 2012-01-08
  • 2019-11-02
  • 1970-01-01
相关资源
最近更新 更多