1

我是 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 
4

2 回答 2

2

对于您的代码应该能够处理的每个主要场景,您都需要一个测试用例。使用“if”语句,通常有两种情况,尽管您可能包括第三种情况,它是这两种情况的“边界”。对于循环,您可能希望包含循环多次运行的情况,以及根本不运行循环的情况。

在您的特定示例中,我将编写三个测试用例 - 一个年龄小于 18 岁,一个年龄正好是 18 岁,一个年龄超过 18 岁。在 JUnit 中,每个测试用例都是一个单独的方法测试班。每个测试方法都应该在特定场景中运行您正在测试的代码,然后断言结果是正确的。

最后,您需要考虑调用每个测试方法的内容。我强烈建议使用一个句子来指示您正在测试的场景以及您期望发生的情况。有些人喜欢以“test”这个词开始他们的测试方法名称;但我的经验是,这往往会将注意力从您尝试测试的 CONDITION 上转移开,并将注意力吸引到您正在测试的特定方法或功能上,结果您往往会得到较低质量的测试。对于您的示例,我会将测试方法称为这样的。

public void canStartDrivingIfAgeOver18()
public void canStartDrivingIfAgeEquals18()
public void numberOfYearsRemainingIsShownIfAgeUnder18()
于 2012-10-01T07:32:15.930 回答
0

根据我对用junit for java编写的理解,我们习惯于将源代码创建到不同的块中是常规代码,并用于将值作为args从测试用例传递给函数,因此这些值将进入块语句,并通过测试用例。

例如,您通过假设 functionName(int age) 将变量设置为 age,对于测试,您应该将测试用例中的整数作为 functionName(18) 传递,它将进入语句并向您显示测试用例的状态.为测试类创建测试用例为功能编写测试用例

UseClass classObj=new UseClass();// it should be your class

    @Test
      public void testValidateAge() {
          classObj.validateAge("20");
          assertEquals(200,"");
   }

如果错了,请纠正我:)

于 2012-10-01T06:39:08.453 回答