我需要使用Robolectric在Android应用程序中编写测试菜单。
菜单的源代码:
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
tokenProvider.destroyToken(this);
tokenProvider.destroyEmail(this);
Intent nextActivity = new intent(getApplicationContext(),MainActivity.class);
startActivity(nextActivity);
return true;
}
return super.onOptionsItemSelected(item);
}
请帮助编写测试
答案 0 :(得分:1)
您可以使用robolectric测试菜单,方法是使用perl -i -lane 'BEGIN{ $" = "|"} $F[$ENV{COLUMN}] = $ENV{VALUE} if $F[0] eq $ENV{ID}; print "@F";' $FILE
创建use strict;
use warnings 'all';
use Env qw/ COLUMN VALUE ID /;
our $^I = ""; # Enable in-place editing
while ( <> ) {
my @fields = split /\|/;
$fields[$COLUMN] = $VALUE if $fields[0] eq $ID;
print join('|', @fields), "\n";
}
并将该menuItem传递给活动MenuItem
。
RoboMenuItem
}