单元何时测试负载依赖组件?

时间:2012-01-12 23:42:52

标签: c# unit-testing

我需要更好地了解何时为单元测试加载程序集。

我有一个班级(ClassDerived),我是单元测试。 ClassDerived派生自另一个类(ClassBase)。

我尝试在运行第一个测试之前使用ClassInitialize属性初始化ClassDerived。单元测试项目引用了ClassBaseClassDerived

ClassInitialize方法中执行代码时,我注意到尚未加载包含ClassDerived的程序集。

我通过查看来自GetAssemblies()的调用的返回值确定了这一点。

var assemblies = System.AppDomain.CurrentDomain.GetAssemblies();

奇怪的是,加载了包含ClassBase的程序集。

我尝试将初始化代码移动到Unit Test构造函数,结果相同。

有谁知道发生了什么事?

1 个答案:

答案 0 :(得分:1)

我怀疑负载时间不是单元测试所特有的。在.net 3.5中,这是我见过的:

给定一个方法'X'的程序集'X',方法'Y'使用程序集'Z'中的东西。

在这种情况下,程序组'Z'将在方法'Y'执行之前加载。 .net 4.0假设在许多方面引入了更大的“懒惰”,所以我不知道上述观察结果是否仍然存在。