Shadow Alert返回空白消息

时间:2016-10-28 01:28:31

标签: android robolectric android-testing

我正在使用robolectric测试警报消息,但是获取的alertDialog返回一条空白消息,这是测试片段:

AlertDialog alertDialog = ShadowAlertDialog.getLatestAlertDialog();
ShadowAlertDialog sAlert = shadowOf(alertDialog);
assert(sAlert.getMessage().toString().equalsIgnoreCase(myFragment.getString(R.string.a_rather_boring_alert_message)));

以下是显示片段的代码:

AlertDialog.Builder alert = new AlertDialog.Builder(context);
alert.setTitle(heading);
alert.setIcon(R.drawable.ic_dialog_info);
final TextView tx1 = new TextView(context);
tx1.setText(msg);
int paddingPixelSize = context.getResources().getDimensionPixelSize(R.dimen.padding_large);
tx1.setPadding(paddingPixelSize, paddingPixelSize, paddingPixelSize, paddingPixelSize);
tx1.setMovementMethod(LinkMovementMethod.getInstance());
tx1.setAutoLinkMask(Activity.RESULT_OK);
alert.setView(tx1);
alert.setCancelable(false);

我正在使用的版本:

testCompile 'org.robolectric:robolectric:3.1.2'

1 个答案:

答案 0 :(得分:0)

我有同样的问题,就像Eugen Martynov指出问题与AlertDialog有关。

getLatestAlertDialog返回我使用android.app.AlertDialog的{​​{1}},因此android.support.v7.app.AlertDialog为空

此问题已在此处报道。 https://github.com/robolectric/robolectric/issues/2232

但仍未解决:(

唯一的选择是在所有地方使用ShadowAlertDialog.getLatestAlertDialog