目的stubAllExternalIntents()在咖啡意图测试
问题描述:
在谷歌sample for intents看着下面的方法:目的stubAllExternalIntents()在咖啡意图测试
@Before
public void stubAllExternalIntents() {
// By default Espresso Intents does not stub any Intents. Stubbing needs to be setup before
// every test run. In this case all external Intents will be blocked.
intending(not(isInternal())).respondWith(new ActivityResult(Activity.RESULT_OK, null));
}
我看到所有的外部意图将被阻止,但我不知道这是否方法起什么作用?
答
您想执行密封测试,这意味着您对系统意图不感兴趣,这可能会根据您的声明导致测试的不稳定性,这就是为什么您禁止不是来自您的应用程序的意图(not(isInternal())
)。
答
它不会阻止这些意图,但设置这些意图被记录,而不是传递给Android的意图框架。稍后,您可以使用预期的()方法检查所有意图。它也可以用于内部意图。
评论清楚地说:“在这种情况下,所有外部意图都将被阻止。”代码也似乎这样做,但你说“它不会阻止这些意图......” 你能否请进一步解释? –