java - 测试 CloseableIterator 接口(interface)

标签 java tdd

测试以下接口(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,那么它会给我编译错误。并不是真正的“测试”,而是确保至少存在一种实现来确保方法正确,并且泛型类型有效。

最佳答案

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

因此没有什么可测试的。

换句话说:此时,没有理由在这里编写单元测试。编写一个仅测试接口(interface)的实现,只是为了测试该接口(interface)是否是该接口(interface)是多余的。在这里您不会遇到任何错误。

含义:如果你的接口(interface)使用方式错误,编译器会让你知道。

记住:你编写单元测试并不是因为你可以。你写它们是因为它们对你的工作有贡献。正如所解释的,至少对于此处给定的接口(interface),单元测试不会贡献有意义的值(value)。

关于java - 测试 CloseableIterator 接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54159023/

相关文章:

java - 单元测试与 Spring 的集成测试

java - 统计循环中每个字母的出现次数并显示出现次数最多的字母

C# 客户端和 Java 服务器

Java:如何在 JTree 中显示 XML 文件

java - 在 Java 中映射列表

javascript - 如何使用 mocha.js 测试多个异步流程事件

c# - 在这种情况下,我应该对所有可能的输入进行单元测试吗?

c# - 当类相互依赖或外部数据时如何使用单元测试?

java - 我应该为移动应用程序的后端使用 OAuth(或其他什么)吗? - 在这种情况下只有*一个* "third-party"应用程序

swift - 来自 func 的 TDD 数据未在 XCTest 案例 Swift 中返回