gpt4 book ai didi

.net - 对声明为友元的类进行单元测试(内部)

转载 作者:行者123 更新时间:2023-12-02 02:19:51 27 4
gpt4 key购买 nike

在我的一些测试帮助程序代码中,我有一个名为 FakeDbSet(Of T)IDbSet(Of T) 实现,它模拟了许多 EF 行为,但没有实际的数据库。我将类声明为 Friend ,因为我想强制所有代码像 IDbSet(Of T) 一样与其交互。在内部(即在我的 Testing 程序集中),我访问了我希望能够测试的类的许多公共(public)成员。

问题是,我将单元测试保存在单独的程序集 Test.Unit 中,这意味着它们无法访问我的内部实现!我知道我可以通过反射(reflection)来解决这个问题,但这很快就会变得麻烦和困惑。有没有更好的方法来设置我的项目来避免这个问题?

最佳答案

将其添加到您的 AssemblyInfo.cs 文件中:

[assembly:InternalsVisibleTo("YourOtherAssembly")]

这将使您的内部程序集对 YourOtherAssembly 可见。但是,您应该真正考虑是否需要将其内部。编写测试时,请尝试重点关注您的 public 部分。

在此处了解更多信息:http://msdn.microsoft.com/en-us/library/system.runtime.compilerservices.internalsvisibletoattribute.aspx

关于.net - 对声明为友元的类进行单元测试(内部),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13601557/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com