如何进行Android功能单元测试
我想将此方法的功能单元测试作为Junit4测试的示例如何进行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
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"));
}