我在使用espresso测试活动启动时收到此错误。
android.support.test.espresso.base.DefaultFailureHandler $ AssertionFailedWithCauseError:想要匹配1个意图。实际上匹配2个意图。
令人惊讶的是,其他具有相同代码的活动启动测试正在通过。
import java.util.Scanner;
public class stringtoint {
public static void main (String args[]) {
Scanner in=new Scanner(System.in);
String number[]=new String[100];
int sum=0;
for(x=0;x<=1;x++)
{
System.out.print("input number : ");number[x]=in.next();
int value[x]= Integer.parseInt(number[x]); // i found "expected here", what should i do, need help, please..
sum=sum+number[x];
}
for(x=0;x<=1;x++)
{
System.out.println("Data Number "+(x+1)+" : "+number[x]);
}
System.out.println("Sum :\t "+sum);
}
}
按钮单击只需使用startActivity启动FundTransfer活动。
答案 0 :(得分:12)
你能粘贴你得到的完整错误信息吗?
错误消息也将匹配2个Intent的配置。如果这两个意图具有相同的配置,则意味着您正在调用startActivity
两次,即在测试开始和测试结束之间。 以下答案适用于您最终两次调用相同Intent的特定情况。
两次通话是完全合法的案例。例如,
第1步:点按Button1
以启动图库并选择图片并在ImageView1
显示(最初ImageView1
为GONE
,现在它是VISIBLE
)。
第2步:点按ImageView1
再次启动图库。
现在,如果你想测试&#34;点击ImageView1
应该启动图库&#34;,那么你就不能点击ImageView1
,因为它不是最初可见。您需要先点按Button1
。如果您这样做,则需要启动图库两次。
因此intended(hasComponent("mypackage.FundTransferActivity"));
无法工作。请改为使用: intended(hasComponent("mypackage.FundTransferActivity"), times(2));