测试 CloseableIterator 接口

Testing a CloseableIterator interface

测试以下接口的方法有哪些:

interface CloseableIterator<T> extends Iterator<T>, AutoCloseable {

}

谢谢。

编辑

我想知道以下测试是否有益:

    @Test
    void anonymousImplementation() {
        new CloseableIterator<String>() {
            @Override
            public void close() throws Exception {
                throw new Exception();
            }
            @Override
            public boolean hasNext() {
                return false;
            }
            @Override
            public String next() {
                return null;
            }
        };
    }

然后,如果出于任何原因从 CloseableIterator 中删除了 AutoCloseable,或者将泛型类型更改为 T extends Number,它会给我编译错误。不是真正的 "test",但确保至少存在一个确保方法正确且通用类型有效的实现。

如现在所写,您的界面包含任何代码(又名行为)。

因此没有什么可测试的。

换句话说:在这个时间点,没有理由在这里写单元测试。编写接口的仅测试实现,只是为了测试接口是接口是矫枉过正。在这里您永远不会遇到任何错误。

意思是:如果你的接口使用方式不对,编译器会让你知道。

记住:您不会编写单元测试,因为您可以。你写它们是因为它们有助于你的工作。如前所述,至少对于此处给定的接口,单元测试没有贡献有意义的价值。