gpt4 book ai didi

java - Android Robotium 排序测试器

转载 作者:行者123 更新时间:2023-11-28 21:28:56 27 4
gpt4 key购买 nike

我正在尝试用 java robitum 编写一些代码来测试和检查我的排序 按钮是否正常工作。

我这样做是通过激活排序按钮,然后遍历排序的数组以根据下一个值检查当前值。 问题是,我正在比较诸如“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);
}

我在实际应用程序中对数组进行排序的方式是使用包含自然排序算法的自定义排序类。 感谢任何帮助,Will。

最佳答案

您是否始终知道应用程序中的文本内容?如果是这样,最简单的答案就是将检查硬编码到每个位置的文本,这可能是最简单的方法并提供高水平的保证。

但是,如果您不了解文本并且需要即时理解它,您将不得不构建一个您在上面尝试过的 oracle。下一个问题来了,您是要验证“排序”按钮是否根据比较器对列表进行排序,还是要测试比较器是否正确?如果你确定你的比较器通过其他测试是正确的,那么验证排序工作是相当简单的,就像你所做的那样循环遍历 TextView 并存储值(可能在列表中)并检查它们是否与相同的列表匹配与您的比较器一起排序,因此证明它们是按照您的比较器排序的。

但要注意的一件事是,如果您无法控制列表中的值,它们可能已经按顺序排列,因此您的测试可能会给出误报,如果您可以检查这一点想要在按下排序按钮之前获取值并进行与上述相同的比较。

关于java - Android Robotium 排序测试器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30494935/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com