有时,有一些代码或方法不能产生突变体,而这些突变体将被任何相关的测试杀死。(例如,我可能使用的是空模式对象,一些已实现的方法与prod无关,因此任何实现(甚至抛出)都是正确的)。
能够告诉pit以避免它们(这样变异范围就更相关了)是很好的,但是我无法在文档中找到这样做的方法。
有办法吗?
发布于 2015-12-18 15:32:54
PIT目前有五种机制,通过这些机制可以过滤掉代码。
excludedClasses参数excludedMethods对于您的用例,听起来像是选项1、4或5合适。
选项2只允许在所有类中过滤方法(这通常用于防止toString或hashcode方法中的突变)。
选项3有点复杂,但它允许您(例如)使用特定的注释过滤掉方法。
一个旁白。
我不
空对象需要实现接口的所有方法,并且预期它们将被调用。如果他们扔的话就会打破常规。
在最常见的模式版本中,方法将是空的,因此除了返回值之外,没有什么可变异的。
这种行为值得用测试来描述。如果空对象无法返回任何被认为是中性的值,这将导致问题。
https://stackoverflow.com/questions/34350684
复制相似问题