gpt4 book ai didi

C# - 如何模拟 this.GetType().Assembly

转载 作者:行者123 更新时间:2023-11-30 14:47:02 25 4
gpt4 key购买 nike

在我正在处理的代码中,我被迫测试一种方法,其中有这样的调用:

this.GetType().Assembly.GetTypes().Where(x => ...);

我想模拟这个调用,以便在调用时从 this.GetType().Assembly 中检索我选择的程序集。
在程序集中,将有我将用于我的断言的假类型

我正在尝试(仍然没有成功)的方法是使用垫片,如所述here .

有没有办法实现我的目标?

最后,请注意,我知道这不是进行单元测试的正确方法。通常我测试的类是使用我可以轻松模拟的依赖项创建的。这是一个异常(exception),因为这是 Cunsomer-Driven Contracts 的实现这是解决方案范围内的,我不能更改它。

最佳答案

如果您无法更改被测代码,您可以使用类似 TypeMock 的框架或 JustMock .这些框架使用探查器 Hook ,因此可以重定向进行的每个函数调用,甚至是对第三方库的调用。

这将允许您将调用重定向到 this.GetType().Assembly 的 getter 并返回预设的程序集列表。

关于C# - 如何模拟 this.GetType().Assembly,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46773835/

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