如何编写测试用例?

3
在我的应用程序中,我有两个文本字段,用于输入用户名和密码。我需要编写测试用例来检查密码字段不为空。我已经设置了测试环境,并且知道如何从测试类中调用方法,但我不知道如何编写测试用例。请帮我编写一个测试用例。
1个回答

3
我会从以下类似的测试开始:

测试内容如下:

@implementation LoginViewTests

- (void)testPasswordFieldIsNotEmpty {
    LoginViewController *loginView = [[LoginViewController alloc] init];
    //any other setup such as calling -viewDidLoad
    STAssertTrue([loginView.passwordField.text length] > 0, @"The field should not be empty");
    [loginView release]; //unless you're using ARC
}

@end

现在,它是否通过了测试(甚至是否构建成功)?如果没有,请对您的代码进行必要的更改。

@WillPragnell:取决于你需要测试什么。 - user23743
如果我像这样编写代码 -(void)getLoginCredentials{ if([passwordField.text length]){ //写代码 } else { UIAlertView *aler= //-分配初始化- 和[alert show]; } 如果测试失败会发生什么? 我不理解术语“测试失败”,“测试成功”以及“失败的测试用例”,“成功的测试用例”,你能否解释一下? - rakeshNS
如果测试方法中的所有断言都满足,则测试“通过”。如果其中任何一个未满足,则测试“失败”。因此,我描述的测试将在设置视图控制器后密码字段不为空时通过。 - user23743
我不明白。你说你希望密码字段不为空,但测试失败是因为密码字段为空。这听起来像是预期的行为。 - user23743
@WillPragnell 很晚才回复:测试并没有比应用程序中发生的事情更神奇或更少。如果您尝试访问.view,则会调用-loadView-viewDidLoad。如果您不这样做,它们就不会被调用...但是您仍然可以自己执行。 - user23743
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接