如果我无法重现突变,该如何在代码中找到突变?

时间:2019-07-30 06:07:02

标签: python python-3.x python-3.6 mutation

我正在通过做一些在线作业来练习我的编码技能。在其中之一中,进行了一个变异测试,但我的代码始终失败。 问题是,每当我测试我的代码时,我都不会在原始输入中看到任何变化,但是仍然会收到该错误。

我在理解这个突变部分时遇到了困难,并且由于测试的输出没有给出关于我的代码输入的任何提示,我也面临着纠正我的代码的麻烦。输出类似于

您已经更改了输入列表:[312,152,390,315,370,180,259,165]应该等于[312,93,152,390,315,370,180,259,165]

 def remove_smallest(numbers):
    numbers = numbers
    if numbers == []:
        return numbers
    else:
        find_lowest = min(numbers)
        times = numbers.count(find_lowest)
        if times == 1:
            smallest_index = numbers.index(find_lowest)
            del numbers[smallest_index]
            return numbers
        elif times > 1:
            indices = []
            i = 0
            while i < len(numbers):
                if numbers[i] == find_lowest:
                    indices.append(i)
                i += 1
            smallest_index = min(indices)
            del numbers[smallest_index]
            return numbers
    print(numbers)

输出应仅比原始输入少一个元素,此移除的元素应为给定输出中具有最小索引的最小值,并且原始输入不会发生任何变异,例如:

remove_smallest([312,152,390,315,370,180,259,165]) 应该给[312,390,315,370,180,259,165]

我的问题是,当我无法重现该突变错误并查看错误之处时,该如何解决?

0 个答案:

没有答案