以下代码是我的方法逻辑。什么是适合这种方法编写JunitTestCases的方法
pulic String getData()
{
if (leg.length == 4)
return "ATE";
else if (leg.length == 2) {
return "FTE";
}
if (leg.length == 3) {
if (xr1.KotilaType.equals("CST")) {
return "HTE";
}
return "DTE";
}
return "BTE";
}
按照我的命令,我需要开始为此方法编写Junit测试用例。
正如你所看到的,这个方法中只有一个方法和一些条件。
现在我的问题是, 我们是否需要为每个条件写一个单独的Junit TestCase(一个分开的方法)?
或者只写一个Junit TestCase并覆盖所有上述条件就足够了吗?
我是junit的新手而不是专家,请指导我为上述方法编写JunitTestCases的方法是什么?
实际上,我会说单个测试用例是* bad *风格。没有进攻=)原因是,如果你的第一个断言失败,那么你不知道其他断言是否会通过或失败。所以,你可能会看到失败,去修正一些代码,重新运行测试,然后找到......测试仍然失败!只是在不同的断言。这也使得使用度量标准来决定构建的不稳定性等变得更加困难。基本上,我们获得的信息使得您可以轻松地编写测试(通常只写一次,这样我们就可以花时间做正确的事)从那些测试。 – Kane
@Kane我同意,但如果我有20个左右的组合,并且我正在更改代码,并且所有组合都在单独的测试中,那么如果我已经涵盖了所有的情况。所以在正常情况下,我有一个测试/案例,但我不介意使用相同方法的多个组合。 –
够公平的,我可以理解为什么会发挥作用。但是如果你担心你没有覆盖所有的情况,你的代码覆盖工具不应该告诉你吗?我会失去我的。 – Kane