测试以下接口(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/