我正在尝试编写涉及我的WCF RIA实体代理的单元测试,当我尝试通过关联访问实体的父或子属性时,当WebContext类无法加载时FileNotFoundException
System.Xml
}}
例如,我在实体框架中的Web项目中定义了两个实体 - Course
和CourseUnit
。 Course
有许多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。毋庸置疑,我已尝试在单元测试项目中引用两个程序集,但它不起作用。