C# 在Silverlight 4应用程序中使用NUnit对WCF RIA服务进行单元测试

C# 在Silverlight 4应用程序中使用NUnit对WCF RIA服务进行单元测试,c#,silverlight-4.0,nunit,wcf-ria-services,nunit-2.5.9,C#,Silverlight 4.0,Nunit,Wcf Ria Services,Nunit 2.5.9,我最近尝试使用Silverlight NUnit项目模板,这是Jamie Cansdale为使用WCF RIA 1.0的Silverlight 4项目找到的模板。我似乎离得很近,但我还是无法让它发挥作用 这就是我所做的 创建项目: 将Silverlight版本更改为4。 将WCF RIA服务链接设置为我的WCF RIA项目。 确保除mscorlib之外的所有引用都是CopyLocal=True。 试着运行测试。 会发生什么 仅包含行_context=new MyContext的测试夹具设置;除此

我最近尝试使用Silverlight NUnit项目模板,这是Jamie Cansdale为使用WCF RIA 1.0的Silverlight 4项目找到的模板。我似乎离得很近,但我还是无法让它发挥作用

这就是我所做的

创建项目: 将Silverlight版本更改为4。 将WCF RIA服务链接设置为我的WCF RIA项目。 确保除mscorlib之外的所有引用都是CopyLocal=True。 试着运行测试。 会发生什么

仅包含行_context=new MyContext的测试夹具设置;除此之外:

1测试失败:安装程序:System.TypeInitializationException:“MS.Internal.joltelper”的类型初始值设定项引发异常--


还有其他人能够使用该模板对WCF RIA项目进行测试吗?

NUnit控制台不支持silverlight。 见: 搜索是否有办法在nunit控制台中运行这些

您可以通过上面的链接从google代码中获得NUinit的Silverlight端口,但是您必须使用上面第一个链接中描述的Silverlight测试运行程序。这对于手动运行测试是可以的,但在持续集成场景中没有用处

问题是,当测试在NUnit控制台中运行时,我相信它运行在CLR中,而不是Silverlight运行时

我们已经在一些Silverlight代码中成功地使用了NUnit和NCover,但这是因为我们测试的代码与完整的.NET CLR兼容

这也是一篇很好的文章,介绍了如何使用NUnit对Silverlight进行单元测试:

说得清楚一点,我的意思是,我相信因为您使用的是RIA服务,所以您的项目需要Silverlight运行时,并且与标准的.NET CLR不兼容,因此不会在NUnit中运行。我在上面发布的最后一个链接应该可以帮助您找到正确的方向。这可能对某些人也很有用:我将在您的最后一段中查看该链接,但我的理解是,我引用的Silverlight NUnit项目模板已使用Silverlight库重新编译,并将运行Silverlight代码。我就是不能让它和RIA一起工作。