gpt4 book ai didi

java - 如何对无效方法进行单元测试?

转载 作者:行者123 更新时间:2023-11-30 07:57:12 24 4
gpt4 key购买 nike

我有这样的方法:

public void processEvent(Event e) {
save(e); // void method
broadcast(e); // void method.
}

但是我将其更改为过滤某些我不想广播的事件:

public void processEvent(Event e) {
save(e);
if (e != "foo") {
broadcast(e);
}
}

如何对这个变化进行单元测试?

最佳答案

单元测试验证公共(public)可观察行为,而不是“代码”。

因此,您应该验证“被测类”(cut)与其依赖项的交互。这意味着:您检查您的剪辑是否调用了依赖项上的预期方法(或不调用)。

其中一个依赖项是 Event 对象。

save()broadcast() 方法很可能与其他依赖项(其他类的对象)交互。

为涉及的所有依赖项创建模拟。使用 Mockito、JMock 等模拟框架

也许您必须改进您的类以创建“接缝”,在这些地方您可以在测试执行时将真实对象与模拟对象交换。这最好通过依赖注入(inject) 来完成。

然后您可以验证您是否按预期切断了与其依赖项的交互。

关于java - 如何对无效方法进行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41495158/

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