一个很好的断言类供生产使用?Java相当于Groovy的PowerAssert?

rip*_*234 6 java groovy assert contracts preconditions

我不喜欢java assert关键字,因为它并不总是在生产代码中启用.我正在寻找一个好的"ProductionAssert"类来使用,它始终运行着名的断言.

一个候选人是番石榴的先决条件.这是不错的,但有点限制(例如,没有assertEquals(),assertNull(),assertGreaterEquals()).

一种替代方案是包括jUnit或另一个测试框架......但我不愿意仅仅为一个简单的断言类依赖整个测试框架.

如果我在Groovy中编程,我会使用PowerAssert.

Java有一个很好的"ProductionAssert"类吗?

PS - 一个选项是最终检查像Java Contracts ...但我现在正在寻找的是绝对最小,零摩擦,只是在构建过程类的类中没有任何变化的drop-it-in. ..我不确定合同符合这种描述.

Gar*_*vis 5

我倾向于使用 Spring 的Assert类:

public void thing(String foo){
    Assert.hasText(foo, "'foo' is required");
}
Run Code Online (Sandbox Code Playgroud)

显然,如果你不使用弹簧,那么这不会让你的船漂浮,我不确定它比番石榴好得多。


pap*_*pap 1

Spring在spring-core模块中有一个,Assert