在我的一些测试帮助程序代码中,我有一个IDbSet(Of T)名为的实现FakeDbSet(Of T),它在没有实际数据库的情况下模拟了许多 EF 行为。我声明了这个类Friend,因为我想强制所有代码像IDbSet(Of T). 在内部(即在我的Testing程序集中),我访问了许多我希望能够测试的类的公共成员。
问题是,我将单元测试保存在单独的程序集中,Test.Unit这意味着它们无法访问我的内部实现!我知道我可以通过反思来解决这个问题,但这很快就会变得麻烦和混乱。有没有更好的方法来设置我的项目以避免这个问题?