2286得票35回答
如何在JUnit测试中断言特定的异常被抛出?

如何在 JUnit 中以惯用方式测试某段代码是否抛出异常? 虽然我可以像这样做: @Test public void testFooThrowsIndexOutOfBoundsException() { boolean thrown = false; try { ...

516得票7回答
@Before、@BeforeClass、@BeforeEach和@BeforeAll的区别

在JUnit 4中,@Before和@BeforeClass的主要区别是: @Before用于在每个测试方法之前执行,这些方法可能需要相同的对象进行初始化。 @BeforeClass在所有测试方法之前只执行一次,通常用于创建共享的资源(例如数据库连接等)。 而在JUnit 5中,@Be...

472得票22回答
如何在JUnit4中按特定顺序运行测试方法?

我希望按特定顺序执行被标记为 @Test 的测试方法。 例如:public class MyTest { @Test public void test1(){} @Test public void test2(){} } 我希望每次运行MyTest时,都能确保在运行test2...

442得票20回答
如何测试代码不会抛出异常?

我知道完成它的一种方法是:@Test public void foo() { try { // execute code that you expect not to throw Exceptions. } catch(Exception e) { fail...

389得票13回答
如何使用JUnit Test注释断言我的异常消息?

我写了几个带有@Test注解的JUnit测试方法。如果我的测试方法抛出已检查异常,并且我想要断言异常消息,是否有一种使用JUnit @Test注解实现的方式呢?据我所知,JUnit 4.7没有提供此功能,但是未来版本是否提供呢?我知道在.NET中,您可以断言消息和异常类。寻找在Java世界中类...

266得票6回答
两个JUnit Assert类之间的区别

JUnit框架包含2个Assert类(显然位于不同的包中),每个类中的方法看起来非常相似。有人能解释一下为什么会这样吗? 我所指的类是:junit.framework.Assert和org.junit.Assert。

245得票15回答
在IntelliJ 10.5中运行测试时出现“NoSuchMethodError: org.hamcrest.Matcher.describeMismatch”的错误。

我正在使用JUnit-dep 4.10和Hamcrest 1.3.RC2。 我创建了一个自定义匹配器,看起来像下面这样:public static class MyMatcher extends TypeSafeMatcher<String> { @Override ...

236得票4回答
Junit @Rule是如何工作的?

我想为大量的代码编写测试用例,我希望了解JUnit@Rule注解特性的详细信息,以便我可以使用它来编写测试用例。请提供一些好的答案或链接,通过简单的示例详细描述其功能。

226得票15回答
修改参数化测试的名称

在使用JUnit4中的参数化测试时,是否有一种方法可以设置自己的自定义测试用例名称? 我想将默认名称—[Test class].runTest[n]—更改为有意义的内容。

219得票7回答
Java的assertEquals方法可靠吗?

我知道在比较两个Strings时,使用==会有一些问题。似乎String.equals()是更好的方法。我正在进行JUnit测试,我的倾向是使用assertEquals(str1, str2)。这种方式可靠吗?我可以使用assertTrue(str1.equals(str2)),但如果失败,则...