我在测试方面有点新,所以请耐心等待。
我想测试一下我的onDismiss()方法的行为。我想确保onDismiss()确实调用showDialog()方法。为了做到这一点,我想验证是否正在调用showDialog()中的模拟。 我收到一条错误消息,说没有与该模拟器的交互。如果我使用deBug模式运行它,我看到我们踩了loadingDialog.show()行,我仍然收到此错误。
问题:
(showDialog()已经包含在单独的测试中)
测试:
sut.onDismiss(mockDialog)
verify(mockLoadingDialog, times(1)).show();
码:
public void onDismiss(DialogInterface dialog) {
showDialog();
}
public synchronized void showDialog() {
loadingDialog.show();
}
错误讯息:Actually, there were zero interactions with this mock.
答案 0 :(得分:1)
import { Component } from '@angular/core';
import { SliderService } from './slider.service';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: [ './app.component.css' ]
})
export class AppComponent {
val: number = 0; // Initialize your val's value
next() {
this.val++;
}
reset() {
this.val = 0;
}
}
希望这有帮助!
使用@InjectMocks确保在必要时注入模拟,并且您不必在设置中初始化模拟。