Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何进行Android功能单元测试_Android_Unit Testing - Fatal编程技术网

如何进行Android功能单元测试

如何进行Android功能单元测试,android,unit-testing,Android,Unit Testing,我想将此方法的功能单元测试作为Junit4测试的示例 public boolean validatePasswordExpression(String newPassword) { int passwordLength = newPassword.length(); if (passwordLength > 20 || passwordLength < 8) return false; else return

我想将此方法的功能单元测试作为Junit4测试的示例

public boolean validatePasswordExpression(String newPassword) {
        int passwordLength = newPassword.length();
        if (passwordLength > 20 || passwordLength < 8)
            return false;

        else return true;
    }
public boolean validatePasswordExpression(字符串newPassword){
int passwordLength=newPassword.length();
if(passwordLength>20 | | passwordLength<8)
返回false;
否则返回true;
}

假设您已经阅读了,因为您只测试
字符串的有效长度,您需要检查以下情况:

  • 有效长度
  • 太短的长度
  • 太长的长度
  • 可接受边界上的长度
  • null
    字符串
这样就足够了(假设您的类名为
PasswordChecker
,替换为实际调用的任何类):


运行此TestClass时出现错误:java.lang.RuntimeException:无法在未调用Looper.prepare()的线程内创建处理程序,请在
setUp()
方法中放置
Looper.prepare()。
private PasswordChecker checker;

@Before public void setUp() {
    checker = new PasswordChecker();
}

@Test public void testValidPassword() {
    assertTrue(checker.validatePasswordExpression("validPassword1"));
}

@Test public void testShortPasswordReturnsFalse() {
    assertFalse(checker.validatePasswordExpression("Short"));
}

@Test public void testNullPasswordReturnsFalse() {
    assertFalse(checker.validatePasswordExpression(null));
}

@Test public void testLongPasswordReturnsFalse() {
    assertFalse(checker.validatePasswordExpression("ThisPasswordIsWayTooLongSoTrySomethingElse"));
}

@Test public void testEightCharPasswordReturnsTrue() {
    assertTrue(checker.validatePasswordExpression("IsValid1"));
}

@Test public void testNinteenCharPasswordReturnsTrue() {
    assertTrue(checker.validatePasswordExpression("ThisPasswordIsValid"));
}

@Test public void testTwentyCharPasswordReturnsFalse() {
    assertFalse(checker.validatePasswordExpression("ThisPasswordIsTwenty"));
}