Hii我是初学的junit test for android所以我的问题是我有6个EditText
字段和一个Button
,按Button
它会检查天气的字段长度{{ 1}}字段为零,如果它们为零,那么它将显示EditText
,否则它将转到另一个Toast
,所以这是我的代码
Activity
我知道如何编写Button.OnClickListener okListener = new Button.OnClickListener() {
public void onClick(View arg0) {
if(text1.getText().toString().length()==0 || text2.getText().toString().length()==0||text3.getText().toString().length()==0|| text4.getText().toString().length()==0||text5.getText().toString().length()==0|| text6.getText().toString().length()==0||txt7.getText().toString().length()==0||txt8.getText().toString().length()==0){
Toast msg = Toast.makeText(ActivityOne.this,
"Field shouldn't left blank", Toast.LENGTH_LONG);
msg.show();
}
if
的测试用例,任何人都知道如何为statement
编写测试用例。使用 Toast
也不是问题。
答案 0 :(得分:2)
例如:
// JUnit class
Button.OnClickListener okListener = new Button.OnClickListener() {
public void onClick(View arg0) {
assertTrue(text1.getText().toString().isEmpty() ||
text2.getText().toString().isEmpty()||
text3.getText().toString().isEmpty()||
text4.getText().toString().isEmpty()||
text5.getText().toString().isEmpty()||
text6.getText().toString().isEmpty()||
txt7.getText().toString().isEmpty()||
txt8.getText().toString().isEmpty());
}
public void testButtons() {
yourButton.setOnClickListener(okListener);
okListener.onClick(yourButton);
}
PS1:使用String.isEmpty()
代替String.length() == 0
。
PS2:我建议您使用数组/列表代替EditText
。每个都有一个字段真的是一个糟糕的方法。如果您添加/删除一个EditText
会怎样?您需要扫描所有代码才能找到EditText
并将其删除。使用数组/列表,您只需要更新数组/列表。
答案 1 :(得分:1)
单元测试不适合测试GUI。为此,请尝试使用例如Robotium。
答案 2 :(得分:0)
是的,我终于找到了针对Toast的junit TestCase,并且通过使用 Robotium 非常简单,代码将会是这样的
Solo solo = new Solo(getInstrumentation(), getActivity());
getInstrumentation().waitForIdleSync();
// Now do whatever you need to do to trigger your dialog.
// Let's assume a properly lame dialog title.
assertTrue("Could not find the dialog!", solo.searchText("MY Dialog Title"));