草庐IT

java - 如何为 Spring Boot Controller 端点编写单元测试

我有一个带有以下内容的示例SpringBoot应用程序引导主类@SpringBootApplicationpublicclassDemoApplication{publicstaticvoidmain(String[]args){SpringApplication.run(DemoApplication.class,args);}Controller@RestController@EnableAutoConfigurationpublicclassHelloWorld{@RequestMapping("/")StringgethelloWorld(){return"HelloWorld

java - 如何为 Spring Boot Controller 端点编写单元测试

我有一个带有以下内容的示例SpringBoot应用程序引导主类@SpringBootApplicationpublicclassDemoApplication{publicstaticvoidmain(String[]args){SpringApplication.run(DemoApplication.class,args);}Controller@RestController@EnableAutoConfigurationpublicclassHelloWorld{@RequestMapping("/")StringgethelloWorld(){return"HelloWorld

java - 应该使用 AssertNull 或 AssertNotNull

这是一个非常愚蠢的问题,但我是第一次进行单元测试,所以:假设我有一个像obj这样的对象变量,如果这个obj为Null,我希望我的单元测试失败。所以对于断言,我应该说AssertNull还是AssertNotNull?我对它们的命名方式感到困惑。 最佳答案 使用assertNotNull(obj)。assert表示必须是。 关于java-应该使用AssertNull或AssertNotNull,我们在StackOverflow上找到一个类似的问题: https:

java - 应该使用 AssertNull 或 AssertNotNull

这是一个非常愚蠢的问题,但我是第一次进行单元测试,所以:假设我有一个像obj这样的对象变量,如果这个obj为Null,我希望我的单元测试失败。所以对于断言,我应该说AssertNull还是AssertNotNull?我对它们的命名方式感到困惑。 最佳答案 使用assertNotNull(obj)。assert表示必须是。 关于java-应该使用AssertNull或AssertNotNull,我们在StackOverflow上找到一个类似的问题: https:

java - JUnit4 fail() 在这里,但是 pass() 在哪里?

JUnit4库中有一个fail()方法。我喜欢它,但是缺少库中不存在的pass()方法。为什么会这样?我发现我可以改用assertTrue(true)但看起来仍然不合逻辑。@TestpublicvoidtestSetterForeignWord(){try{card.setForeignWord("");fail();}catch(IncorrectArgumentForSetterex){}//assertTrue(true);} 最佳答案 只要您的测试完成并通过,请调用return语句。

java - JUnit4 fail() 在这里,但是 pass() 在哪里?

JUnit4库中有一个fail()方法。我喜欢它,但是缺少库中不存在的pass()方法。为什么会这样?我发现我可以改用assertTrue(true)但看起来仍然不合逻辑。@TestpublicvoidtestSetterForeignWord(){try{card.setForeignWord("");fail();}catch(IncorrectArgumentForSetterex){}//assertTrue(true);} 最佳答案 只要您的测试完成并通过,请调用return语句。

java - 在 JUnit 中断言正则表达式匹配

Ruby的Test::Unit有一个很好的assert_matches方法,可以在单元测试中使用它来断言正则表达式匹配字符串。在JUnit中有这样的东西吗?目前,我这样做:assertEquals(true,actual.matches(expectedRegex)); 最佳答案 如果您将assertThat()与Hamcrestmatcher一起使用测试正则表达式匹配,然后如果断言失败,您将收到一条很好的消息,指示预期模式和实际文本。断言也会更流畅地阅读,例如assertThat("FooBarBaz",matchesPatter

java - 在 JUnit 中断言正则表达式匹配

Ruby的Test::Unit有一个很好的assert_matches方法,可以在单元测试中使用它来断言正则表达式匹配字符串。在JUnit中有这样的东西吗?目前,我这样做:assertEquals(true,actual.matches(expectedRegex)); 最佳答案 如果您将assertThat()与Hamcrestmatcher一起使用测试正则表达式匹配,然后如果断言失败,您将收到一条很好的消息,指示预期模式和实际文本。断言也会更流畅地阅读,例如assertThat("FooBarBaz",matchesPatter

java - Hamcrest 的多个正确结果(是否有或匹配器?)

我对匹配器比较陌生。我在玩hamcrest结合JUnit,我有点喜欢它。有没有办法说明多项选择中的一个是正确的?类似assertThat(result,is(either(1,or(2,or(3)))))//doesnotworkinhamcrest我正在测试的方法返回集合的一个元素。该列表可能包含多个候选者。我当前的实现返回第一个命中,但这不是必需的。如果返回任何可能的候选人,我希望我的测试用例成功。你会如何用Java来表达这一点?(我对hamcrest-alternatives持开放态度) 最佳答案 assertThat(res

java - Hamcrest 的多个正确结果(是否有或匹配器?)

我对匹配器比较陌生。我在玩hamcrest结合JUnit,我有点喜欢它。有没有办法说明多项选择中的一个是正确的?类似assertThat(result,is(either(1,or(2,or(3)))))//doesnotworkinhamcrest我正在测试的方法返回集合的一个元素。该列表可能包含多个候选者。我当前的实现返回第一个命中,但这不是必需的。如果返回任何可能的候选人,我希望我的测试用例成功。你会如何用Java来表达这一点?(我对hamcrest-alternatives持开放态度) 最佳答案 assertThat(res