以下代码执行基本路径覆盖的测试集是什么?
/**
* Attempt to rename a tag. newName must not be null.
* Returns true/false
*/
public boolean renameTag(String oldName, String newName) {
if(oldName.equals(newName))
return false;
Tag tag = tags.get(oldName);
if(tag == null)
return false;
if(tags.containsKey(newName))
return false;
tags.remove(oldName);
tag.setName(newName);
tags.put(newName, tag);
return true;
}
从我的understanding基础路径覆盖范围应该是:
TTT
FTT
TFT
TTF
以下是我目前的测试集:
{{oldName = "a", newName = "a", tags = {{"a", null}}}, // TTT
{oldName = "a", newName = "b", tags = {{"b", object}}}, // FTT
{oldName = "a", newName = "a", tags = {{"a", object}}} // TFT
{oldName = "a", newName = "a", tags = {}} // TTF}
但是这在这个例子中不起作用,因为条件为真后的返回。我的测试只测试第一个和第二个条件,第三个条件永远不会是测试。
我的测试集应该如何获得基础路径测试但是使用最小的测试集?
答案 0 :(得分:1)
您的测试用例是错误的。这就是我的猜测。
{{oldName = "a", newName = "a", tags = {{"a", null}}}, //For 1st if
{oldName = "a", newName = "b", tags = {{"b", object}}}, // for second if
{oldName = "a", newName = "b", tags = {{"a", object}, {"b", object}} // for third if