将NUnit / ReSharper测试移至Silverlight

时间:2010-10-14 12:55:58

标签: silverlight unit-testing nunit resharper

我们有一个WinForms应用程序,我们计划移植到Silverlight。显然,UI需要完全重写,但我们有很多业务逻辑,经过NUnit测试的良好测试。我们使用ReSharper在IDE内部运行测试,使用nunit-console在持续集成机器上运行测试。

当我们开始将业务逻辑类移动到Silverlight程序集中时,我们如何让这些单元测试针对那些Silverlight程序集运行?我的理解是NUnit不能在没有significant tweaking的情况下运行Silverlight测试,并且说调整(以项目模板的形式)似乎是VS2008-和Silverlight 3特定的(我们很可能使用VS2010和Silverlight 4为我们的端口。)

如果这是最好的选择,我们可以将我们的测试移到另一个测试框架,但除了NUnit之外似乎还没有其他的。 Silverlight Unit Test Framework看起来像是在浏览器中运行,这对于持续集成来说是非启动性的。

我知道Silverlight 4.0 assemblies can be loaded into a .NET 4.0 executable,但我不确定这对于单元测试意味着什么。是否可以将我们的业务逻辑程序集编译为Silverlight 4.0 DLL,并编写引用Silverlight DLL的全框架.NET 4.0 NUnit测试程序集?看起来这可能会有效,但是有没有人用单元测试成功完成了这个?

底线,我们应该为单元测试做些什么?我们需要一个解决方案

  • 仍允许我们在ReSharper测试运行器中运行测试;
  • 也可以从命令行运行;
  • 适用于VS2010。

我们没有在测试中实例化任何UI对象,因此那些讨厌的DependencyObject线程问题不是问题。我们只需要测试我们的Silverlight业务逻辑。

1 个答案:

答案 0 :(得分:3)

不确定是否支持NUnit或添加的难度,但您可以查看http://AGunit.codeplex.com以获取ReSharper Silverlight支持。

我给C.I.写了一个小工具。 silverlight测试并尝试在正常的dev / tdd场景中提供帮助 - 您可以查看http://StatLight.codeplex.com

你应该能够在那里找到一个针对silverlight的NUnit构建(有一些)。不确定任何在浏览器中使用NUnit的跑步者。但是,StatLight可以为您运行一些基本的NUnit功能。

希望这会给你一点帮助。