Stryker.NET是否支持仅排除internal方法与构造函数?
Stryker.NET是否支持仅排除internal构造函数?
目前Stryker.NET的ignore-methods配置不支持仅针对internal访问修饰符的构造函数进行排除。官方提供的通配符匹配逻辑仅能基于方法/构造函数的名称、所属类名这类标识做筛选,无法识别访问修饰符维度的差异。
比如官方示例中的*Exception.ctor规则,会匹配所有异常类的构造函数,无论它是public、internal还是其他访问修饰符,无法精准过滤出仅internal的构造函数。
你当前采用的Stryker注释方案是可行的临时解决办法——在需要排除的internal构造函数上方添加// Stryker disable all注释,即可精准跳过该构造函数的突变测试。
如果需要批量处理这类构造函数,目前没有直接的配置方案:要么继续用注释逐个标记;如果这些internal构造函数所属的类有统一命名规律(比如特定前缀/后缀),可以尝试用通配符匹配类名+构造函数(如MyInternalClass*.ctor),但这种方式可能会误匹配同类中其他访问修饰符的构造函数,需要谨慎使用。
内容的提问来源于stack exchange,提问作者Matthias Müller
相关产品推荐
相关产品推荐

