Espresso意图测试

时间:2017-06-15 07:12:55

标签: android testing android-intent android-espresso android-testing

在Google sample for intents中查看以下方法:

@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));
}

我看到所有外部意图都会被阻止,但我想知道这种方法的目的是什么?

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

您希望执行密封测试,这意味着您对系统意图不感兴趣,这可能会导致测试剥落,具体取决于您的断言,这就是为什么您要禁止不是来自您的应用程序的意图(not(isInternal()))。