将NUnit/ReSharper测试移植到Silverlight

4
我们有一个WinForms应用程序,计划将其转换为Silverlight。 显然,用户界面需要完全重写,但我们有许多经过NUnit测试的业务逻辑。 我们使用ReSharper在IDE内运行测试,并使用nunit-console在连续集成机上运行测试。 当我们开始将业务逻辑类移动到Silverlight程序集中时,如何使这些单元测试针对那些Silverlight程序集运行? 我的理解是NUnit无法在不进行显着调整的情况下运行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个回答

3

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

我编写了一个小工具来进行C.I.银光测试,并尝试在正常的dev/tdd场景中提供帮助-您可以去查看http://StatLight.codeplex.com

您应该能够找到一些针对silverlight的NUnit版本(有几个)。不确定是否有任何适用于浏览器中的NUnit运行程序。但是StatLight可以为您运行一些基本的NUnit功能。

希望这可以给您一些帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接