我正在 VBNET 2.0 中构建一个 Active Directory 包装器(不能使用更高版本的 .NET),其中包含以下内容:
- 使用者
- IGroupe
- 联合组织
这些接口是在内部类(VBNET 中的 Friend)中实现的,因此我想实现一个外观,以便用其内部类实例化每个接口。这将使架构具有更好的灵活性等。
现在,我想在同一解决方案的不同项目中测试这些类(Utilisateur、Groupe、UniteOrganization)。然而,这些类是内部的。我希望能够在不通过我的外观的情况下实例化它们,但仅用于这些测试,仅此而已。
这是一段代码来说明它:
public static class DirectoryFacade {
public static IGroupe CreerGroupe() {
return new Groupe();
}
}
// Then in code, I would write something alike:
public partial class MainForm : Form {
public MainForm() {
IGroupe g = DirectoryFacade.CreerGroupe();
// Doing stuff with instance here...
}
}
// My sample interface:
public interface IGroupe {
string Domaine { get; set; }
IList<IUtilisateur> Membres { get; }
}
internal class Groupe : IGroupe {
private IList<IUtilisateur> _membres;
internal Groupe() {
_membres = new List<IUtilisateur>();
}
public string Domaine { get; set; }
public IList<IUtilisateur> Membres {
get {
return _membres;
}
}
}
最近我听说了InternalsVisibleTo() 属性。我想知道它是否在 VBNET 2.0/VS2005 中可用,以便我可以访问程序集的内部类进行测试?不然我怎么能达到这个目的呢?
EDIT这是像我一样进行的良好测试实践吗?
是的,InternalsVisibleTo 属性在 vb.net 中可用并且适用于 Friend 类型。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)