Robotium を使用して製品を自動化しています。モジュールでは、派生したデータを検証する必要があります。
そのために、私はこのコードを使用しています:
class sharefirstlevel {
public void A {
for(int k=1;k<=4;k+=2) {
ExpectedResult = solo.clickInList(k);
for (int i = 0; i < ExpectedResult.size(); i++) {
Actualvalues[i] += ExpectedResult.get(i).getText().toString() + " ";
solo.scrollListToLine(0, k);
ExpectedResult=solo.clickInList(1);
Actualvalues[i] += ExpectedResult.get(i).getText().toString() + " ";
ExpectedResult = solo.clickInList(2);
Actualvalues[i] += ExpectedResult.get(i).getText().toString() + " ";
Log.d("xyz","Values of the Strings are"+Actualvalues[i].toString());
}
}
}
}
選択した値を配列に抽出します。
派生したときに、検証するために、次のコードを使用しています。
class sharedLevel {
public void B {
for(int i=0; i <= sharefirstlevel.Actualvalues.length; i++) {
Log.d("xyz","Values are:"+sharefirstlevel.Actualvalues[i]);
actual=solo.searchText(sharefirstlevel.Actualvalues[i]);
assertEquals(expected, actual);
Log.d("xyz","Values are:"+sharefirstlevel.Actualvalues[i]);
}
}
}
値は配列に抽出され、印刷されると、適切な値が配列に挿入され、別のクラスに渡されます。
ただし、junit テスト ケースの実行は 1 ~ 2 回しか成功しません。しかし、それ以降、ヌルポインタ例外が発生しています。私を助けてください。修正中です!!
ArrayList 自体に挿入されるときの最初の値は null です。コードは次のとおりです。
for(int k=1;k<=4;k+=2)
{
ExpectedResult = solo.clickInList(k);
for (int i = 0; i < ExpectedResult.size(); i++)
{
Actualvalues[i] += ExpectedResult.get(i).getText().toString() + " ";
solo.scrollListToLine(0, k);
ExpectedResult=solo.clickInList(1);
Actualvalues[i] += ExpectedResult.get(i).getText().toString() + " ";
ExpectedResult = solo.clickInList(2);
Actualvalues[i] += ExpectedResult.get(i).getText().toString() + " ";
Log.d(" ","Values of the Strings are"+Actualvalues[i].toString());
}
}
for ループ自体の最初の行に挿入される値は null です。したがって、問題。
しかし、なぜnull値が0番目の位置に挿入されているのかわかりません。解決策を教えてください。