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

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

100得票5回答
如何在JUnit 5中替换WireMock的@Rule注解?

我在测试中使用WireMock,并有这样一行代码:@Rule public WireMockRule wireMockRule = new WireMockRule(8080); 我想转换到JUnit 5。因此,我添加了以下依赖项(使用Gradle):testCompile('org.juni...

79得票4回答
在 Junit 4.10 中,Mockito 异常后验证的方法是什么?

我正在测试一个带有预期异常的方法。在异常抛出后,我还需要验证一些清理代码是否被调用了(在模拟对象上),但似乎这个验证被忽略了。以下是代码。我正在使用Junit的ExpectedException Rule 来验证预期异常。@Rule public ExpectedException expec...

33得票1回答
为什么JUnit中用@Rule注释的字段必须是公共的?

在JUnit测试用例中,由@Rule注释的字段必须是公共的。这打破了一个普遍的Java编码惯例(所有类成员变量都不应该是公共的)。为什么JUnit要求这样做? @Rule的文档:https://github.com/junit-team/junit/blob/master/src/main/...

25得票5回答
仅在Windows上运行单元测试

我有一个类,通过JNA调用本地 Windows API。如何编写 JUnit 测试,在 Windows 开发机上执行但在 Unix 构建服务器上被忽略? 我可以使用 System.getProperty("os.name") 轻松获取主机操作系统。 我可以在我的测试中编写守卫块: @Te...

23得票4回答
如何在JUnit ExpectedException抛出后继续测试?

我使用了JUnit(版本4.12)的ExpectedException特性设置了一些测试,我希望在期望异常之后测试能够继续执行。但是,即使我使用了catch语句,似乎执行会在异常后停止,我从未看到日志“3”。 这是否有可能,并且该如何实现?@Rule public ExpectedExce...

22得票5回答
在JUnit 4.11中如何将@ClassRule和@Rule结合使用?

在JUnit 4.10及以下版本中,可以将规则注释为@Rule和@ClassRule。这意味着规则在类之前/之后以及每个测试之前/之后被调用。这样做的一个可能原因是通过@ClassRule调用来设置昂贵的外部资源,然后通过@Rule调用来快速重置它。 从JUnit 4.11开始,@Rule字...

19得票3回答
在JUnit中,在每个“@Test”之后和每个“@After”之前应用“@Rule”。

我有一个测试套件,在 @After 中退出系统并在 @AfterClass 中关闭浏览器。 我正在尝试使用 @Rule 在每个测试方法中使用 Selenium 获取失败的测试截图。 我手动检查了一下,发现 @Rule 只在每个 @Before 之前运行,但是我想在 @Test 之后和 @Aft...

16得票2回答
如何创建具有子文件夹的JUnit TemporaryFolder

我想创建一个JUnit TemporyFolder,它代表这样一棵树的baseFolder:baseFolder/subFolderA/subSubFolder /subFolderB/file1.txt 据我所知,我可以设置一个TemporaryFolder,然后可以使用...

15得票4回答
如何在JUnit5中测试日志记录?

我正在将一个项目从JUnit 4迁移到JUnit 5,并试图弄清楚如何测试日志。 以前,我使用了@Rule OutputCapture outputCapture = new OutputCapture(); 然后可以使用outputCapture.toString()编写一个断言,例如: ...