在编写了一些单元测试后,我决定让Visual Studio的Create Unit Tests命令为我生成一些单元测试存根。但是,我注意到,如果public
方法所在的类是internal
,则创建单元测试命令将不会生成存根,而是吐出此消息:
仅在公共类或公共方法中支持创建单元测试。
我理解这条消息的内容。但是,我在InternalsVisibleTo
中设置了AssemblyInfo.cs
属性,将我的internal
方法暴露给我的测试程序集。我想知道 - Visual Studio的Create Unit Tests命令是否不知道这个设置?有解决方法吗?
答案 0 :(得分:-1)
是。解决方法是让你的方法公开。
信息很干净。我认为只测试公共方法是一种很好的最佳实践,所以请坚持下去。我认为“InternalsVisibleTo”作为临时解决方法,在获得测试覆盖的遗留代码时,它不是一个永久的解决方案。