【java – 启用每个包的断言】教程文章相关的互联网学习教程文章

java – 如何断言列表至少有n个大于x的项(在junit中使用hamcrest)【代码】

我可以使用以下代码检查列表是否有一个大于30的项目.//Using Hamcrest List<Integer> ints= Arrays.asList(22,33,44,55); assertThat(ints,hasItem(greaterThan(30)));但是,如果列表中至少有2个项目大于30,我怎么断言呢? 有了AssertJ,我知道有一个解决方案.但我不知道如何用Hamcrest实现这一点.//Using AssertJ List<Integer> ints= Arrays.asList(22,33,44,55); Condition<Integer> greaterThanCondition = new Condition<Intege...

java – 断言与JUnit断言

今天我看到了一个带有java断言而不是JUnit断言的JUnit测试用例 – 是否有优势或缺点优先于另一个?解决方法:在JUnit4中,JUnit断言抛出的异常(实际上是Error)与java assert关键字(AssertionError)抛出的异常相同,因此它与assertTrue完全相同,而不是堆栈跟踪,你无法区分它们. 话虽如此,断言必须在JVM中使用特殊标志运行,导致许多测试似乎只是因为有人在JUnit测试运行时忘记用该标志配置系统 – 不好. 一般来说,正因为如此,我认为使用...

java – JUnit 5:如何断言异常抛出?【代码】

有没有更好的方法断言方法在JUnit 5中抛出异常? 目前,我必须使用@Rule来验证我的测试是否会引发异常,但这对于我希望多个方法在我的测试中抛出异常的情况不起作用.解决方法:您可以使用assertThrows(),它允许您在同一测试中测试多个异常.在Java 8中支持lambdas,这是在JUnit中测试异常的规范方法. 按照JUnit docs:import static org.junit.jupiter.api.Assertions.assertThrows;@Test void exceptionTesting() {MyException thrown ...

java – 断言Junit中的List【代码】

如何在JUnit测试用例中对列表进行断言?不仅列表的大小,而且列表的内容.解决方法:我意识到这是几年前被问到的,可能这个功能不是那时候的.但是现在,这很容易做到:@Test public void test_array_pass() {List<String> actual = Arrays.asList("fee", "fi", "foe");List<String> expected = Arrays.asList("fee", "fi", "foe");assertThat(actual, is(expected));assertThat(actual, is(not(expected))); }如果您使用hamcrest安装了最...

java – 如何断言在JUnit 4测试中抛出某个异常?【代码】

如何以惯用方式使用JUnit4来测试某些代码是否会抛出异常? 虽然我当然可以这样做:@Test public void testFooThrowsIndexOutOfBoundsException() {boolean thrown = false;try {foo.doStuff();} catch (IndexOutOfBoundsException e) {thrown = true;}assertTrue(thrown); }我记得有一个注释或一个Assert.xyz或者其他东西,对于这些类型的情况来说,远不如KUndgy和JUnit的精神.解决方法:JUnit 4支持这个:@Test(expected = IndexOutO...

java – 断言无法解决【代码】

描述:“断言无法解决”资源:ConsumerAccountProfileAssertion.java路径:/ SCACCWSTest / src / test / java / ford / cucumber / cap / assertion位置:第81行类型:Java问题Assert无法解析Eclipse OxygenWasfor(String outputFieldToBeVerified : outputFieldsToBeVerified) {switch (CommonUtils.trimAndConvertToUpperCase(outputFieldToBeVerified)) {case CommonConstants.OUTPUT_FIELD_CONSUMER_ID:consumerBOFromDB = Co...

java – 验证是否已在Assertj中调用断言【代码】

我正在阅读使用Assertj来验证结果的测试类.偶尔,我发现了一个没有断言的断言.assertThat(object.getField());是否有可能在开发周期的某个地方识别这些类?我的第一个猜测是使用自定义声纳规则.虽然我没有看到我应该怎么定义这个方法后面应该跟一个断言(一个返回void的方法?).解决方法:SonarJava正在使用规则S2970“Assertions should be complete”,它可以检测断言,而不会断言AssertJ,Fest和Truth. 见:https://rules.sonarsource...

java – AssertJ在cause消息上断言【代码】

有没有办法在使用AssertJ时再次抛出一个方法来检查原因中的消息是否等于某个字符串. 我目前正在做类似的事情:assertThatThrownBy(() -> SUT.method()).isExactlyInstanceOf(IllegalStateException.class).hasRootCauseExactlyInstanceOf(Exception.class);并且想添加一个断言来检查根本原因中的消息.解决方法:不完全是,目前你能做的最好的就是使用hasStackTraceContaining,例如Throwable runtime = new RuntimeException("no way"...

Scala编译器出错:java.lang.AssertionError:断言失败(即使在Eclipse中指定了项目依赖项)【代码】

当我尝试在Eclipse中编译我的Scala项目时,我得到以下错误(最后的堆栈跟踪).它表示断言失败的Java类TransportConf(在Java Build Path中指定的项目spark-network-common中).我检查了目标文件夹,并且TransportConf.class存在 可能导致问题的原因是: >我正在将上游/主代码中的代码合并到我的项目中,并引入了新的依赖项.我通常运行s??bt {reload,eclipse with-source = true}然后刷新我的eclipse项目.这是正确的方法吗? 我做的事情: ...

java – 在netbeans中运行时启用断言

我尝试了Assert Example 它在commandprompt中工作正常.我使用以下命令运行代码. java -ea AssertionExample 但是在netBeans中运行时没有显示Exception示例描述断言在运行时启用时将起作用所以我们添加了ea. 我们如何在netbeans中启用断言?解决方法:>右键单击您的项目>属性>运行> VM选项>在框中添加-ea

java – JUnit5:无法导入断言【代码】

我正在尝试使用JUnit5来创建一些基本的单元测试.我转到我的Analyzer.java类并获取用于创建测试的弹出窗口.我点击Create New Test,将Testing Library设置为JUnit5.我检查了一堆方法来生成测试方法并点击OK. 所以现在我有一个AnalyzerTest.java文件,在顶部我有:import static org.junit.jupiter.api.Assertions.*;不幸的是,断言是红色的(这是在IntelliJ IDEA中).当我悬停时,它会显示“找不到符号断言”.同样,我有:@org.junit.jupit...

java – 断言失败(scn == 3 || scn == 4)in void cv :: cvtColor(cv :: InputArray Android【代码】

我正在尝试将Mat转换为灰度值,以便我可以获得像素的数值.在虚拟机cv :: cvtColor(cv :: InputArray错误)上我得到了一个“断言失败(scn == 3 || scn == 4).我知道我错过了什么,但我不知道它是什么. 码import android.nfc.Tag; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.SurfaceView; im...

java – 具有异常期望的JUnit测试(多个断言)【代码】

我正在测试一个用于Xalan的WeekConverter,并想知道我的测试究竟做了什么. :d 有以下测试方法:@Test(expected = IllegalArgumentException.class)public void testConvertTwoDigitYearWithWrongInput() {WeekConverter weekConverter = new WeekConverter(WeekConverter.Strategy.TWO_DIGIT_YEAR);//wrong or empty inputsassertEquals("0", weekConverter.convert(""));assertEquals("0", weekConverter.convert("abcdefgh")); }...

corejava11(7.4 使用断言)【代码】

7.4 使用断言 断言是防御性编程的常用习惯用法。在下面的部分中,您将学习如何有效地使用它们。 7.4.1 断言概念 假设您确信某个特定属性已经实现,并且您在代码中依赖该属性。例如,您可能正在计算 double y = Math.sqrt(x); 你确定x不是负的。可能是另一个计算的结果不能有负的结果,或者是一个方法的参数,它要求调用方只提供正的输入。尽管如此,您还是希望进行双重检查,而不是允许混淆的“非数字”浮点值进入您的计算中。当然...

java – 比较两个字符串失败的断言【代码】

这真的很奇怪,我试图断言两个字符串是相等的,即使它看起来是相同的,它也会失败.Assert.assertSame("Extra Spicy", type, "type is not extra spicy");我收到此错误:java.lang.AssertionError: type is not extra spicy expected [Extra Spicy]but found [Extra Spicy] Expected :Extra Spicy Actual :Extra Spicy一切都匹配,为什么会失败?解决方法:Assert.assertSame使用==运算符,它检查两个对象是否是同一个对象(具有相同的引用...