gpt4 book ai didi

c# - 单元测试何时加载依赖程序集?

转载 作者:太空宇宙 更新时间:2023-11-03 14:07:51 25 4
gpt4 key购买 nike

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

我有一个类 (ClassDerived),我正在对其进行单元测试。 ClassDerived 派生自另一个类 (ClassBase)。

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

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

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

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

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

我尝试将初始化代码移至单元测试构造函数,结果相同。

有人知道这是怎么回事吗?

最佳答案

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

给定具有方法“Y”的程序集“X”,并且方法“Y”使用程序集“Z”中的某些内容。

在这种情况下,程序集“Z”将在方法“Y”执行之前加载。 .net 4.0 据推测在许多方面引入了更大的“懒惰”,所以我不知道上述观察是否仍然正确。

关于c# - 单元测试何时加载依赖程序集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8844004/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com