我正在尝试为返回 Function
的方法编写 Java 8 单元测试;像这样的东西:
class MyObject<X> {
public Function<X,Obj> getFunction() {...}
}
在我的单元测试中,我创建了一个示例对象并调用了 getFunction()
并想将其与不适用于 org.junit.Assert.assertEquals
的预期功能进行比较:
@Test
public void getFunction_returnsFunction() {
final MyObject<St> object = new MyObject<>(..);
final Function<St,Obj> expectedResult = ...;
// this does not work
assertEquals(expectedResult, object.getFunction());
}
是否有可能比较两个 Function
秒?您会如何建议对此方法进行单元测试?
最佳答案
使用标准的 R Function.apply(T t)
方法检查函数行为:
Function<St,Obj> func = o.getFunction();
assertEquals(func.apply(value), expectedFunctionResult);
关于Java 8 : unit-testing a method that returns a Function object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53540533/