在VS中创建单元测试是否仅允许在公共类中?
单元测试创建报错提示准确性验证结论
原通知提示中文翻译:创建单元测试仅支持非测试(NON-Test)项目,以及公共(public)类或公共(public)方法。
该报错提示确实存在表述歧义问题,你推导的实际规则是正确的:创建单元测试需要同时满足类和方法均为public的条件,而非提示中描述的“满足public类或public方法其中一项即可”。
当前工具的实际生效校验规则如下:
- 操作所属项目必须为非测试项目,不支持在测试项目内直接创建单元测试
- 待测试方法所属的类必须使用
public修饰 - 待测试的目标方法必须使用
public修饰
出现该表述误差的核心原因是提示忽略了非public类的访问权限限制:即使类内部的方法声明为public,也仅能在类所属的程序集内被访问,外部单元测试项目默认没有访问权限,自然无法自动生成对应的单元测试代码,这也和你“仅修改类为public后即可正常创建单元测试”的测试结果完全匹配。
内容的提问来源于stack exchange,提问作者JonMarsh89
相关产品推荐
相关产品推荐

