第 12 章 无效的分数检测


如果您使用 environmentMode 类,并将值指定为 FULL_ASSERTFAST_ASSERT,则环境模式会在增量分数计算中检测分数崩溃。

但是,这样做不会验证您的分数计算器是否实施了您的分数限制。例如,一个约束可能会与错误模式匹配。要根据独立实施验证约束,请配置 assertionScoreDirectorFactory 类:

  <environmentMode>FAST_ASSERT</environmentMode>
  ...
  <scoreDirectorFactory>
    <constraintProviderClass>org.optaplanner.examples.nqueens.optional.score.NQueensConstraintProvider</constraintProviderClass>
    <assertionScoreDirectorFactory>
      <easyScoreCalculatorClass>org.optaplanner.examples.nqueens.optional.score.NQueensEasyScoreCalculator</easyScoreCalculatorClass>
    </assertionScoreDirectorFactory>
  </scoreDirectorFactory>
Copy to Clipboard Toggle word wrap

在本例中,NQueensConstraintProvider 实现由 EasyScoreCalculator 验证。

注意

这种技术非常适合隔离分数损坏,但为了验证约束实施了实际业务需求,通常最好使用 ConstraintVerifier 进行单元测试。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat