我们有一个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 测试程序集是否可行?这似乎可能有效,但有人已经成功地使用单元测试完成了这项工作吗?
底线是,我们应该为单元测试做些什么? 我们需要一个解决方案,它:
我们可以将测试迁移到另一个测试框架,如果这是最好的选择,但除了 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 中工作。