gpt4 book ai didi

c# - 如何对创建新进程的代码进行单元测试?

转载 作者:太空狗 更新时间:2023-10-29 23:27:57 25 4
gpt4 key购买 nike

如何测试以下方法?

它是接口(interface)的具体类实现上的方法。

我用一个只公开我需要的方法和属性的接口(interface)包装了 Process 类。 ProcessWrapper 类是该接口(interface)的具体实现。

    public void Initiate(IEnumerable<Cow> cows)
{
foreach (Cow c in cows)
{
c.Process = new ProcessWrapper(c);
c.Process.Start();
count++;
}
}

最佳答案

有两种方法可以解决这个问题。第一种是使用依赖注入(inject)。您可以注入(inject)工厂并让 Initiate 调用 create 方法来获取测试所需的 ProcessWrapper 类型。

另一种解决方案是使用模拟框架,例如 TypeMock,它可以让您解决这个问题。 TypeMock 基本上允许您模拟任何东西,因此您可以使用它来提供模拟对象而不是实际的 ProcessWrapper 实例。

关于c# - 如何对创建新进程的代码进行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/938249/

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