如何在android中为Login Activity编写单元测试用例

时间:2015-11-16 12:33:27

标签: android junit4

我写了一个登录活动。当点击登录按钮时,我正在使用以下代码进行身份验证。

  loginButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v){
            // Get username and password
            // check username or password with db or webservice
            }
            }

请帮助我如何编写单元测试用例以确认身份验证成功?

2 个答案:

答案 0 :(得分:1)

试试这个: TESTME https://plugins.jetbrains.com/plugin/9471-testme

为Java或Groovy中的源类自动生成单元测试。 没有更多样板!

功能

  • 使用JUnit 4/5,TestNG或Spock框架自动生成Java或Groovy测试代码
  • 自动生成Mockito模拟
  • 生成测试参数和断言语句

<强>快速入门: http://weirddev.com/testme/

答案 1 :(得分:0)

这是编写登录活动测试的方法之一

public class LoginActivityTest {

    @Rule
    public ActivityTestRule<LoginActivity> mActivityTestRule = new ActivityTestRule<LoginActivity>(LoginActivity.class);

    public LoginActivity loginActivity;

    @Before
    public void setUp() throws Exception {
        loginActivity = mActivityTestRule.getActivity();
    }

    @Test
    public void testLogin(){
        getInstrumentation().runOnMainSync(new Runnable() {
            @Override
            public void run() {
                EditText email = loginActivity.findViewById(R.id.email);
                EditText pass = loginActivity.findViewById(R.id.password);
                email.setText("email");
                pass.setText("pass");
                Button loginBtn = loginActivity.findViewById(R.id.login);
                loginBtn.performClick();
                assertTrue(loginActivity.isCurUserLoggedIn());
            }
        });
    }

    @After
    public void tearDown() throws Exception {
        loginActivity = null;
    }
}