if语句的android junit测试用例

时间:2013-01-28 11:22:09

标签: android junit

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 也不是问题。

3 个答案:

答案 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"));