我们有一个WinForms应用程序,我们计划移植到Silverlight。显然,UI需要完全重写,但我们有很多业务逻辑,这些业务逻辑都经过了NUnit测试的良好测试。我们使用ReSharper在IDE中运行测试,使用nunit-控制台在连续集成机器上运行测试。
当我们开始将业务逻辑类转移到Silverlight程序集中时,我们如何使这些单元测试针对这些Silverlight程序集运行?我的理解是,NUnit不能在没有重大调整的情况下运行Silverlight测试,并表示调整(以项目模板的形式)似乎是is 2008-和Silverlight 3特有的(我们很可能使用VS2010和Silverlight 4作为端口)。
如果测试是最好的选择,我们可以将测试转移到另一个测试框架,但是除了NUnit之外,似乎没有什么其他的了。银灯单元测试框架看起来像是在浏览器内部运行,这是一个不适合持续集成的工具。
我知道Silverlight 4.0程序集可以加载到.NET 4.0可执行文件中,但我不知道这对单元测试意味着什么。是否可以将业务逻辑程序集编译为Silverlight 4.0 DLL,并编写引用Silverlight DLL的完整框架.NET 4.0 NUnit测试程序集?这似乎是可行的,但是否有人在单元测试中成功地做到了这一点?
说到底,我们应该为我们的单元测试做些什么呢?我们需要一个解决方案
我们不会在测试中实例化任何UI对象,因此那些烦人的DependencyObject线程问题并不是一个问题。我们只需要测试Silverlight业务逻辑。
发布于 2010-10-14 18:37:05
不确定是否支持NUnit,或者添加它有多困难,但是您可能会查看http://AGunit.codeplex.com对ReSharper Silverlight的支持。
我为C.I.Silverlight测试编写了一个小工具,并试图在一般的dev/tdd场景中提供帮助--您可以查看http://StatLight.codeplex.com。
您应该能够为silverlight找到一个NUnit构建(有几个)。不确定是否有运行程序在浏览器中使用NUnit。但是,StatLight可以为您运行一些基本的NUnit功能。
希望这能给你一点帮助。
https://stackoverflow.com/questions/3933296
复制