gpt4 book ai didi

.net - 我怎样才能模拟大会?

转载 作者:行者123 更新时间:2023-12-03 23:11:52 24 4
gpt4 key购买 nike

是否可以模拟 Assembly类(class)?

如果是这样,使用什么框架,以及如何?

如果不是,如何为使用 Assembly 的代码编写测试? ?

最佳答案

TypeMock非常强大。我想它可以做到。对于 Moq 或 Rhino 等其他模拟框架,您将需要使用另一种策略。

Rhino 或 Moq 的策略:

例如:您正在使用 组装类来获取程序集的全名。

public class YourClass
{
public string GetFullName()
{
Assembly ass = Assembly.GetExecutingAssembly();
return ass.FullName;
}
}

组装 从接口(interface) _Assembly 派生的类.所以,不要使用 组装 直接注入(inject)接口(interface)即可。然后,很容易为您的测试模拟界面。

修改后的类:
public class YourClass
{
private _Assembly _assbl;
public YourClass(_Assembly assbl)
{
_assbl = assbl;
}

public string GetFullName()
{
return _assbl.FullName;
}
}

在你的测试中,你模拟了 _Assembly :
public void TestDoSomething()
{
var assbl = MockRepository.GenerateStub<_Assembly>();

YourClass yc = new YourClass(assbl);
string fullName = yc.GetFullName();

//Test conditions
}

关于.net - 我怎样才能模拟大会?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1375848/

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