【发布时间】:2015-06-23 09:51:39
【问题描述】:
我从事 Java/Maven 项目。我使用mvn test 来运行我的测试套件。但是,在这种情况下,所有断言都已启用。不幸的是,这将一些操作的时间从log(n) 增加到n^2,这是相当不方便的。更重要的是,该操作是在依赖项packageA 中定义的,而我在packageB 上工作。使用纯 Java,我可以添加 -ea:packageB... 以仅启用我实际需要的断言。是否可以使用pom.xml 的内容或mvn 的命令行参数来实现此行为?我知道我可以禁用 all 断言,但我宁愿将断言保留在我实际正在处理的包中......
【问题讨论】:
-
如果重构你的代码是可能的,你可以尝试使用similar as explained here,你的基本断言在基类中,并且所有断言在某些情况下在调度对象中省略。通过 maven 配置文件,您可以决定是想要所有断言还是只想要基本断言。一般来说,你应该把你的单元测试分成categories虽然