我正在寻找从返回类型Either<Exception,Object>
的方法中轻松提取值的方法。
我正在做一些测试,但是无法轻松测试我的方法的返回。
例如:
final Either<ServerException,Tokenmodel> result = await repository.getToken(...);
为了测试,我能够做到
expect(result,equals(Right(tokenmodelExpected))); // => OK
现在如何直接检索结果?
final Tokenmodel modelRetrieved = Left(result); ==> Not working..
我发现我必须像这样进行投射:
final Tokenmodel modelRetrieved = (result as Left).value; ==> But I have some linter complain,that telling me that I shouldn't do as to cast on object...
我也想测试异常,但是它不起作用,例如:
expect(result,equals(Left(ServerException()))); // => KO
所以我尝试了
expect(Left(ServerException()),equals(Left(ServerException()))); // => KO as well,because it says that the instances are different.