为什么我的WCF RIA上下文在单元测试期间抛出FileNotFound异常?

时间:2011-02-23 21:06:19

标签: wcf-ria-services

我正在尝试编写涉及我的WCF RIA实体代理的单元测试,当我尝试通过关联访问实体的父或子属性时,当WebContext类无法加载时FileNotFoundException System.Xml }}

例如,我在实体框架中的Web项目中定义了两个实体 - CourseCourseUnitCourse有许多CourseUnit个孩子。我没有向我的ViewModel公开任何RIA上下文或任何内容,它们都隐藏在接口之后。我正在使用Moq来模拟这些接口并将标准RIA实体代理返回到我的单元测试中。

当我测试

之类的东西时,这很好用

Assert.AreEqual("title", course.Title)

其中course是RIA代理的实例。但是,如果我做了类似

的事情

Assert.AreEqual(0, course.CourseUnits.Count)

我收到以下异常

  

FileNotFoundException未被处理   用户代码无法加载文件或   程序集'System.Xml,版本= 2.0.5.0,   文化=中性,   PublicKeyToken = 7cec85d7bea7798e'或   其中一个依赖项。系统   找不到指定的文件。

同样,如果我在涉及其中一个关系的单元测试中执行任何代码,那么代码会抛出相同的异常。基本上,如果我试图通过我的测试中的关联关系来访问这些属性,那么它们就会中断。

异常实际发生在生成的代码中。它可以在部分类[webProjectName].g.cs的文件Course : Entity中找到,并在CourseUnits getter中发生。

有什么想法吗?

编辑 - 我添加了对EntityFramework程序集的引用,并且异常已更改为System.ComponentModel.DataAnnotations而不是System.Xml。毋庸置疑,我已尝试在单元测试项目中引用两个程序集,但它不起作用。

0 个答案:

没有答案