gpt4 book ai didi

dependency-injection - findbugs:读取@autowired forunit test 上的未写字段

转载 作者:行者123 更新时间:2023-12-05 01:36:37 27 4
gpt4 key购买 nike

嗨,我在 JUNIT 测试中遇到 findbugs 错误。

这是我的测试。

public class MyTest {
@Autowired
private MyService myService;

@Test
public void serviceShouldSayMine() {
Assert.assertEquals(this.myService.getText(), "Mine");
}
}

我的发现错误过滤器。
<findbugsfilter>
<match>
<class name="~.*Test"/>
<or>
<field name="~.*Dao"/>
<field name="~.*Service"/>
<field name="~.*TestUtils"/>
</or>
<bug pattern="UWF_UNWRITTEN_FIELD" type="UWF_UNWRITTEN_FIELD"/>
</match>
<match>
<class name="~.*Test"/>
<or>
<field name="~.*Dao"/>
<field name="~.*Service"/>
<field name="~.*TestUtils"/>
</or>
<bug pattern="NP_UNWRITTEN_FIELD" type="NP_UNWRITTEN_FIELD"/>
</match>
</findbugsfilter>

我将过滤器添加到 Eclipse,但当我点击它时,我仍然收到错误 Read of unwritten field myService ,它说
Pattern id: UWF_UNWRITTEN_FIELD, type: UwF, category: CORRECTNESS

This field is never written. All reads of it will return the default value.
Check for errors (should it have been initialized?), or remove it if it is useless.

并且
Pattern id: NP_UNWRITTEN_FIELD, type: NP, category: CORRECTNESS

The program is dereferencing a field that does not seem to ever have a non-null
value written to it. Dereferencing this value will generate a null pointer exception.

我的过滤器有什么问题,

我的目标是过滤掉所有类

a.) 以 *Test 或 *TestCase 结尾

b.) 上面类中以 *Service 或 *Dao 结尾的方法

最佳答案

尝试删除错误(转到问题或标记 View ,右键单击并选择删除)。进行完全重建并查看错误是否再次出现。

当您更改 checkstyle 规则时,它不会删除来自旧规则的错误。所以你需要手动删除它们。

关于dependency-injection - findbugs:读取@autowired forunit test 上的未写字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7981189/

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