在 Java Mockito 中,您可以为每个调用模拟不同的返回值,如下所示:
when(myMock.doTheCall())
.thenReturn("You failed")
.thenReturn("Success");
Run Code Online (Sandbox Code Playgroud)
或者像这样:
when(myMock.doTheCall()).thenReturn("Success", "you failed");
Run Code Online (Sandbox Code Playgroud)
我想知道如何在 Dart Mockito 中实现同样的目标。我找不到这方面的文档
我进行了简单的重试,因为操作很少会失败.简化代码如下.该方法putObject可能会意外抛出异常,在这种情况下,重试应该允许再次调用此方法.是否可以为此编写JUnit测试?我知道使用Mockito库我们可以强制抛出一个Exception来调用一个方法,但是如何强制只抛出一次这个异常呢?
public class RetryExample {
Bucket bucket = new Bucket();
static int INTERNAL_EXCEPTION_CODE = 100;
class AException extends RuntimeException {
private static final long serialVersionUID = 1L;
int statusCode;
public int getStatusCode() {
return statusCode;
}
}
class Bucket {
public void putObject(String fileName, byte[] data) throws AException {
System.out.println("PutObject=" + fileName + " data=" + data);
}
}
public void process(String fileName, byte[] data) throws AException {
try {
retryOperation((f, d) -> bucket.putObject(f, d), fileName, data);
} …Run Code Online (Sandbox Code Playgroud)