我是Junit的新手。我想为if条件,循环编写测试用例。
我们是否有任何指导方针或程序来编写if,loop条件的测试用例? 任何人都可以用一个例子来解释吗?
IF Age < 18 THEN WHILE Age <> 18
DO ResultResult = Result +1 AgeAge = Age +1 END
DO Print “You can start driving in {Result} years”
ELSE
Print “You can start driving now!”
ENDIF
答案 0 :(得分:2)
您希望代码应该能够处理的每个主要方案都有一个测试用例。对于“if”语句,通常有两种情况,尽管您可能包含第二种情况,即两者的“边界”。使用循环,您可能希望包含多次运行循环的情况,以及根本不运行循环的情况。
在您的特定示例中,我将编写三个测试用例 - 一个年龄小于18,一个年龄为18,一个年龄超过18岁。在JUnit中,每个测试用例都是单独的测试类中的方法。每个测试方法都应运行您正在测试的代码,在特定场景中,然后声明结果是正确的。
最后,您需要考虑调用每种测试方法的内容。我强烈建议使用一个句子来表明您正在测试哪种情况,以及您希望发生什么。有些人喜欢用“test”这个词开始他们的测试方法名称;但我的经验是,这往往会引起人们对你试图测试的条件的注意力,并引起人们对你正在测试的特定方法或功能的关注,并且你倾向于得到较低质量的测试结果。对于您的示例,我会将测试方法称为这样。
public void canStartDrivingIfAgeOver18()
public void canStartDrivingIfAgeEquals18()
public void numberOfYearsRemainingIsShownIfAgeUnder18()
答案 1 :(得分:0)
从我对在junit中编写java的理解,我们习惯于在不同的块中创建源代码是常规代码,并用于将值作为args传递给测试用例中的函数,因此值将进入块语句,并传递测试用例。
例如,通过假设为functionName(int age),您将变量作为年龄,为了测试,您应该将测试用例中的整数作为functionName(18)传递,它将进入语句并显示状态测试用例。为测试类创建函数的测试用例
UseClass classObj=new UseClass();// it should be your class
@Test
public void testValidateAge() {
classObj.validateAge("20");
assertEquals(200,"");
}
如果我错了,请纠正我。