我有一个包含两个程序集的解决方案,都在VB.Net中。一个程序集包含我的代码,其中主要包括Friend
类;另一个程序集包含专用于对第一个程序集进行单元测试的代码。我依靠MSTest。
如何对Friend
课程进行单元测试?
我已经在C#的多个教程和文档中看到<Assembly(): InternalsVisibleTo("AssemblyName")>
,但是我知道这不适用于VB。
在搜寻SO时,我只找到一个match,这表明一个有趣的解决方法。如果没有更好的选择,我愿意遵循这种选择。然而,令我感到惊讶的是,没有一种干净的方法来实现我虽然还很基础的东西。
您是正确的,在某个时间点,该功能InternalsVisibleToAttribute
仅在C#中可用,而在VB中不起作用。但是,您以为它今天在VB中仍然无法使用是不正确的。该属性在VB中不起作用的时间早已过去。除非您使用的工具过旧,否则该属性将在VB中起作用,就像在C#中一样。
如果对您不起作用,几乎可以肯定是出于不同的原因。如果编译失败,则说明该类型不存在,这是因为您未引用必要的程序集,或者未导入其名称空间。如果您的项目以.NET Core或.NET Standard为目标,则不需要引用任何其他程序集,但是如果以.NET Framework为目标,则需要添加对的引用System.Runtime.dll
(如果不是。已被引用)。然后,无论您针对的是哪种框架,都需要完全限定类名,或者需要导入其名称空间(即)System.Runtime.CompilerServices
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句