Android Robotium 排序测试仪
Android Robotium Sort Tester
我正在尝试在 java robitum 中编写一些代码,它将测试并检查我的 sort 按钮是否可用工作正常。
我这样做是通过激活排序按钮,然后遍历排序的数组以根据下一个值检查当前值。 问题是,我正在比较 "Tenancy 8 & Tenancy 12" 等字符串,然后它告诉我 Tenancy 8 > Tenancy 12。
我知道这是因为软件基于 ASCII 进行排序,但我想知道如何解决这个问题。我的代码如下:
solo.clickLongOnView(tenancy_sort);
for(int i = 0; i<9; i++)
{
TextView tenancy_current = (TextView)
solo.getView(R.id.device_selector_row_tenancy_text,i);
TextView tenancy_next = (TextView)
solo.getView(R.id.device_selector_row_tenancy_text,i+1);
String tenancy_current_text = tenancy_current.getText().toString();
String tenancy_next_text = tenancy_next.getText().toString();
int result = tenancy_current_text.compareTo(tenancy_next_text);
assertTrue(result <= 0);
}
我在实际应用程序中对数组进行排序的方式是使用包含自然排序算法的自定义排序 class。 提前感谢 任何帮助,Will。
你总是知道应用程序中的文本是什么吗?如果是这样,最简单的答案就是将检查硬编码到每个位置的文本中,这可能是最简单的方法并提供高水平的保证。
但是,如果您不知道文本并需要即时弄明白,您将不得不构建一个您在上面尝试过的 oracle。下一个问题来了,您是要验证 "sort" 按钮是否根据比较器对列表进行排序,还是要测试比较器是否正确?如果你确定你的比较器通过其他测试是正确的,那么验证排序工作是相当简单的,就像你所做的那样循环遍历文本视图并存储值(可能在列表中)并检查它们是否与相同的列表匹配与您的比较器一起排序,因此证明它们是按照您的比较器排序的。
但要注意的一件事是,如果您无法控制列表中的值,它们可能已经按顺序排列,因此您的测试可能会给出误报,您可以检查一下如果您想在按下排序按钮之前获取值并进行与上述相同的比较。
我正在尝试在 java robitum 中编写一些代码,它将测试并检查我的 sort 按钮是否可用工作正常。
我这样做是通过激活排序按钮,然后遍历排序的数组以根据下一个值检查当前值。 问题是,我正在比较 "Tenancy 8 & Tenancy 12" 等字符串,然后它告诉我 Tenancy 8 > Tenancy 12。
我知道这是因为软件基于 ASCII 进行排序,但我想知道如何解决这个问题。我的代码如下:
solo.clickLongOnView(tenancy_sort);
for(int i = 0; i<9; i++)
{
TextView tenancy_current = (TextView)
solo.getView(R.id.device_selector_row_tenancy_text,i);
TextView tenancy_next = (TextView)
solo.getView(R.id.device_selector_row_tenancy_text,i+1);
String tenancy_current_text = tenancy_current.getText().toString();
String tenancy_next_text = tenancy_next.getText().toString();
int result = tenancy_current_text.compareTo(tenancy_next_text);
assertTrue(result <= 0);
}
我在实际应用程序中对数组进行排序的方式是使用包含自然排序算法的自定义排序 class。 提前感谢 任何帮助,Will。
你总是知道应用程序中的文本是什么吗?如果是这样,最简单的答案就是将检查硬编码到每个位置的文本中,这可能是最简单的方法并提供高水平的保证。
但是,如果您不知道文本并需要即时弄明白,您将不得不构建一个您在上面尝试过的 oracle。下一个问题来了,您是要验证 "sort" 按钮是否根据比较器对列表进行排序,还是要测试比较器是否正确?如果你确定你的比较器通过其他测试是正确的,那么验证排序工作是相当简单的,就像你所做的那样循环遍历文本视图并存储值(可能在列表中)并检查它们是否与相同的列表匹配与您的比较器一起排序,因此证明它们是按照您的比较器排序的。
但要注意的一件事是,如果您无法控制列表中的值,它们可能已经按顺序排列,因此您的测试可能会给出误报,您可以检查一下如果您想在按下排序按钮之前获取值并进行与上述相同的比较。