草庐IT

Junit-Tests

全部标签

java - 如何使用 JUnit 测试异步进程

您如何测试使用JUnit触发异步进程的方法?我不知道如何让我的测试等待进程结束(它不完全是单元测试,它更像是一个集成测试,因为它涉及多个类而不仅仅是一个)。 最佳答案 TL;DR;很遗憾,还没有内置解决方案(撰写本文时,2022年),因此您可以自由使用和/或实现适合你的情况。示例另一种方法是使用CountDownLatch类。publicclassDatabaseTest{/***Datalimit*/privatestaticfinalintDATA_LIMIT=5;/***Countdownlatch*/privateCount

java - 如何使用 JUnit 测试异步进程

您如何测试使用JUnit触发异步进程的方法?我不知道如何让我的测试等待进程结束(它不完全是单元测试,它更像是一个集成测试,因为它涉及多个类而不仅仅是一个)。 最佳答案 TL;DR;很遗憾,还没有内置解决方案(撰写本文时,2022年),因此您可以自由使用和/或实现适合你的情况。示例另一种方法是使用CountDownLatch类。publicclassDatabaseTest{/***Datalimit*/privatestaticfinalintDATA_LIMIT=5;/***Countdownlatch*/privateCount

java - Junit @Rule 是如何工作的?

我想为大量代码编写测试用例,我想知道JUnit@Rule注解功能的细节,以便我可以使用它来编写测试用例。请提供一些好的答案或链接,通过一个简单的例子详细描述其功能。 最佳答案 规则用于添加适用于测试类中所有测试的附加功能,但以更通用的方式。例如,ExternalResource在测试方法之前和之后执行代码,而无需使用@Before和@After。使用ExternalResource而不是@Before和@After可以更好地重用代码;可以在两个不同的测试类中使用相同的规则。设计基于:InterceptorsinJUnit有关详细信息

java - Junit @Rule 是如何工作的?

我想为大量代码编写测试用例,我想知道JUnit@Rule注解功能的细节,以便我可以使用它来编写测试用例。请提供一些好的答案或链接,通过一个简单的例子详细描述其功能。 最佳答案 规则用于添加适用于测试类中所有测试的附加功能,但以更通用的方式。例如,ExternalResource在测试方法之前和之后执行代码,而无需使用@Before和@After。使用ExternalResource而不是@Before和@After可以更好地重用代码;可以在两个不同的测试类中使用相同的规则。设计基于:InterceptorsinJUnit有关详细信息

java - 如何使用 JUnit Test 注释断言我的异常消息?

我已经编写了一些带有@Test注释的JUnit测试。如果我的测试方法抛出一个已检查的异常,并且如果我想将消息与异常一起断言,有没有办法使用JUnit@Test注释来做到这一点?AFAIK,JUnit4.7不提供此功能,但是否有任何future版本提供它?我知道在.NET中你可以断言消息和异常类。在Java世界中寻找类似的功能。这就是我想要的:@Test(expected=RuntimeException.class,message="EmployeeIDisnull")publicvoidshouldThrowRuntimeExceptionWhenEmployeeIDisNull()

java - 如何使用 JUnit Test 注释断言我的异常消息?

我已经编写了一些带有@Test注释的JUnit测试。如果我的测试方法抛出一个已检查的异常,并且如果我想将消息与异常一起断言,有没有办法使用JUnit@Test注释来做到这一点?AFAIK,JUnit4.7不提供此功能,但是否有任何future版本提供它?我知道在.NET中你可以断言消息和异常类。在Java世界中寻找类似的功能。这就是我想要的:@Test(expected=RuntimeException.class,message="EmployeeIDisnull")publicvoidshouldThrowRuntimeExceptionWhenEmployeeIDisNull()

java - 如何在 JUnit4 中按特定顺序运行测试方法?

我想按特定顺序执行由@Test注释的测试方法。例如:publicclassMyTest{@Testpublicvoidtest1(){}@Testpublicvoidtest2(){}}我想确保每次运行MyTest时在test2()之前运行test1(),但找不到注释比如@Test(order=xx)。我认为这对JUnit来说是相当重要的功能,如果JUnit的作者不想要order功能,为什么? 最佳答案 Ithinkit'squiteimportantfeatureforJUnit,ifauthorofJUnitdoesn'twan

java - 如何在 JUnit4 中按特定顺序运行测试方法?

我想按特定顺序执行由@Test注释的测试方法。例如:publicclassMyTest{@Testpublicvoidtest1(){}@Testpublicvoidtest2(){}}我想确保每次运行MyTest时在test2()之前运行test1(),但找不到注释比如@Test(order=xx)。我认为这对JUnit来说是相当重要的功能,如果JUnit的作者不想要order功能,为什么? 最佳答案 Ithinkit'squiteimportantfeatureforJUnit,ifauthorofJUnitdoesn'twan

java - 为什么 JUnit 不提供 assertNotEquals 方法?

有人知道为什么JUnit4提供assertEquals(foo,bar)而不是assertNotEqual(foo,bar)方法吗?它提供了assertNotSame(对应assertSame)和assertFalse(对应assertTrue),所以看起来奇怪的是他们没有打扰包括assertNotEqual。顺便说一句,我知道JUnit-addons提供了我正在寻找的方法。我只是出于好奇而问。 最佳答案 我建议您使用较新的assertThat()styleasserts,可以轻松描述各种否定,并自动构建一个描述你期望什么以及如果断

java - 为什么 JUnit 不提供 assertNotEquals 方法?

有人知道为什么JUnit4提供assertEquals(foo,bar)而不是assertNotEqual(foo,bar)方法吗?它提供了assertNotSame(对应assertSame)和assertFalse(对应assertTrue),所以看起来奇怪的是他们没有打扰包括assertNotEqual。顺便说一句,我知道JUnit-addons提供了我正在寻找的方法。我只是出于好奇而问。 最佳答案 我建议您使用较新的assertThat()styleasserts,可以轻松描述各种否定,并自动构建一个描述你期望什么以及如果断