首页 > 解决方案 > 我可以为这个程序编写什么断言测试用例?

问题描述

我为我的 Java 程序编写了 1 个断言测试用例。我需要为我的程序再编写一个测试用例以通过 Sonarqube 测试。我不确定我可以编写什么其他断言测试用例来通过这个 sonarqube 测试。

这是我的代码Tools.java

@Component("Tools")
public class Tools implements Consumer<PMessage> {
    private final OptimisticLockmark<Tble> mark;
    private final giver giver;

    public Tools(
            final OptimisticLockmark<Tble> mark,
            final giver giver) {
        this.mark = mark;
        this.giver = giver;
    }


    @Override
    public void accept(PMessage PMessage) {
        LOG.info("ignore "+PMessage.getKey());

    }
}

这是我为这门课写的测试用例


public class DTest
{
        @Before
    public void setUp()
    {
        message = PMessage.builder()
                .ingestedData("Test")
                .key("1")
                .build();
        consumer =
                new Tools(mark,
                        giver);
    }

    @Test
    public void accept()
    {
        consumer.accept(message);
        assertTrue("Pass", true);
    }
}

我需要一些指导来编写另一个断言测试用例来通过 sonarqube。

标签: javaspringtestingsonarqube

解决方案


在我看来,您的单元测试已经完成。您正在测试的消费者类被设计为除了生成“信息”日志消息之外什么都不做,说明它什么也没做。

由于“什么都不做”不会失败,并且测试某事没有“什么都不做”是不切实际的,因此您已经测试了所有可以测试的东西。

一个学究可能会争辩说您需要测试“信息”日志消息是否正在被记录。但是,信息日志通常不被认为是您需要测试的东西。


推荐阅读