很多时候我发现自己在将方法设为私有(private)以防止有人在没有意义的上下文中调用它(或者会搞砸所涉及对象的内部状态),或者将方法设为公开(或通常是内部的)以便将其暴露给单元测试程序集。我只是想知道 Stack Overflow 社区是如何看待这个困境的?
所以我想真正的问题是,专注于可测试性更好还是专注于维护适当的封装更好?
最近我一直倾向于可测试性,因为大部分代码只会被一小部分开发人员使用,但我想我会看看其他人的想法?
最佳答案
不能更改客户或用户可以看到的方法的可见性。这样做很丑陋,是一种 hack,暴露了任何愚蠢的用户都可以尝试使用并破坏您的应用程序的方法……这是您不需要的责任。
您使用的是 C# 是吗?查看internals visible to属性类。 您可以将可测试方法声明为内部方法,并允许您的单元测试程序集访问您的内部方法。
关于c# - 为了单元测试更改方法可见性是否可以?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2330627/