2

在谷歌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)); 
} 

我看到所有的外部意图将被阻止,但我不知道这是否方法起什么作用?

回答

0

您想执行密封测试,这意味着您对系统意图不感兴趣,这可能会根据您的声明导致测试的不稳定性,这就是为什么您禁止不是来自您的应用程序的意图(not(isInternal()))。

0

它不会阻止这些意图,但设置这些意图被记录,而不是传递给Android的意图框架。稍后,您可以使用预期的()方法检查所有意图。它也可以用于内部意图。

+0

评论清楚地说:“在这种情况下,所有外部意图都将被阻止。”代码也似乎这样做,但你说“它不会阻止这些意图......” 你能否请进一步解释? –