对于您的代码应该能够处理的每个主要场景,您都需要一个测试用例。使用“if”语句,通常有两种情况,尽管您可能包括第三种情况,它是这两种情况的“边界”。对于循环,您可能希望包含循环多次运行的情况,以及根本不运行循环的情况。
在您的特定示例中,我将编写三个测试用例 - 一个年龄小于 18 岁,一个年龄正好是 18 岁,一个年龄超过 18 岁。在 JUnit 中,每个测试用例都是一个单独的方法测试班。每个测试方法都应该在特定场景中运行您正在测试的代码,然后断言结果是正确的。
最后,您需要考虑调用每个测试方法的内容。我强烈建议使用一个句子来指示您正在测试的场景以及您期望发生的情况。有些人喜欢以“test”这个词开始他们的测试方法名称;但我的经验是,这往往会将注意力从您尝试测试的 CONDITION 上转移开,并将注意力吸引到您正在测试的特定方法或功能上,结果您往往会得到较低质量的测试。对于您的示例,我会将测试方法称为这样的。
public void canStartDrivingIfAgeOver18()
public void canStartDrivingIfAgeEquals18()
public void numberOfYearsRemainingIsShownIfAgeUnder18()