【发布时间】:2017-04-25 19:17:21
【问题描述】:
我有一个包含多个项目的 Visual Studio 解决方案。大多数项目供内部/Intranet 使用,但少数是面向公众的网站。
对于内部项目,我使用带有实体框架的ProjectName.Data 项目来访问数据库。
对于公共项目,我使用了不同的数据访问方法,它只允许访问特定模式中的存储过程。
作为我的集成/系统测试的一部分,我想确保这些公共项目不引用ProjectName.Data 项目(例如,确保某些开发人员没有说嘿,我们开始吧,我会在这里添加一个参考,然后繁荣,轻松访问整条船)。
作为我面向公众的 MSTest 项目的一部分,我希望能够做这样的事情:
[TestMethod]
[TestCategory("Integration")]
public void CheckNoAccessToDataProject() {
var ref = ProjectUnderTest.GetReference("ProjectName.Data");
Assert.IsNull(ref);
}
我确实找到了一种方法,可以通过使用 Type.GetType("Full.Name.To.EF6.Context") 来解决这个问题,但我更愿意检查参考本身。
【问题讨论】:
标签: c# reflection mstest