VS Create Unit Tests命令对内部方法不起作用?

时间:2018-05-22 20:48:34

标签: c# unit-testing visual-studio-2015

在编写了一些单元测试后,我决定让Visual Studio的Create Unit Tests命令为我生成一些单元测试存根。但是,我注意到,如果public方法所在的类是internal,则创建单元测试命令将不会生成存根,而是吐出此消息:

  

仅在公共类或公共方法中支持创建单元测试。

我理解这条消息的内容。但是,我在InternalsVisibleTo中设置了AssemblyInfo.cs属性,将我的internal方法暴露给我的测试程序集。我想知道 - Visual Studio的Create Unit Tests命令是否不知道这个设置?有解决方法吗?

1 个答案:

答案 0 :(得分:-1)

是。解决方法是让你的方法公开。

信息很干净。我认为只测试公共方法是一种很好的最佳实践,所以请坚持下去。我认为“InternalsVisibleTo”作为临时解决方法,在获得测试覆盖的遗留代码时,它不是一个永久的解决方案。