我正在 VBNET 2.0(不能使用更高版本的 .NET)中构建一个 Active Directory 包装器,其中包含以下内容:
- 作家
- 集团
- 联合组织
这些接口是在内部类(VBNET 中的Friend)中实现的,所以我想实现一个外观,以便用它们的内部类来启动每个接口。这将使架构具有更好的灵活性等。
现在,我想在同一个解决方案的不同项目中测试这些类(Utilisateur、Groupe、UniteOrganisation)。但是,这些类是内部的。我希望能够在不经过我的外观的情况下实例化它们,但仅用于这些测试,仅此而已。
这是一段代码来说明它:
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 中可用,以便我可以访问组件的内部类进行测试?否则,我怎么能做到这一点?
编辑这是像我一样进行的良好测试实践吗?