gpt4 book ai didi

java - 如何在java protected 方法中测试局部变量

转载 作者:行者123 更新时间:2023-12-02 01:13:35 31 4
gpt4 key购买 nike

我正在尝试找到一种方法来测试在 protected 方法内声明和启动的局部变量。这是我的代码。我想测试“id”和“someText”是否被添加到上下文并在finally block 中删除。有没有办法在java中测试它?如有任何帮助,我们将不胜感激。

public abstract class BaseTransaction {

protected Status handleTransaction() {

Map<String, String> context = new HashMap();
context.put("id","someText");

try {
//some other method calls
} finally {
context.remove("id");
}

}

}

最佳答案

您不应该测试 context,那级别太低,但如果您坚持,请将代码更改为:

protected Status handleTransaction() {
Map<String, String> context = new HashMap<>();
context.put("id", "someText");
try {
return handleContext(context);
} finally{
context.remove("id");
}
}
protected Status handleContext(Map<String, String> context) {
//some other method calls
}

您现在可以模拟 handleContext 并调用 handleTransaction,以测试 context 映射在 handleContext 时是否具有正确的内容被调用。

您还可以直接调用handleContext,以测试它是否对context映射中的各种内容做出正确 react 。

基本上,您已将原始方法的逻辑拆分为可以独立测试的2个单元

关于java - 如何在java protected 方法中测试局部变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59001443/

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