4
我在VBNET 2.0构建一个Active Directory包装(不能用后来.NET)中,我有以下几点:单元测试最佳实践?/C#InternalsVisibleTo()属性为VBNET 2.0而测试?
- IUtilisateur
- IGroupe
- IUniteOrganisation
这些接口在内部类(VBNET中的Friend)中实现,所以我想实现一个外观以便为每个接口内置类。这将允许架构更好的灵活性等
现在,我想在同一个解决方案中的不同项目来测试这些类(Utilisateur,阳狮集团,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中可用,以便我可以访问assmebly的内部类来进行测试?否则,我怎么能做到这一点?
编辑这是一个很好的测试实践进行像我这样做?
它在.NET 2.0中工作?我应该导入什么样的组件来使用它? – 2010-05-13 13:23:21
它在'System.Runtime.CompilerServices'中。更多信息在这里:http://msdn.microsoft.com/en-us/library/system.runtime.compilerservices.internalsvisibletoattribute(VS.90).aspx?ppud=4 – 2010-05-13 13:32:46
这是一个很好的做法,用于测试,或者是还有其他更好的解决方案吗 – 2010-05-13 13:42:12