我有一个测试类,它有一个带有CsvSource的参数化测试,还有其他使用CapturedOutput的测试。它们单独运行良好,但在一起运行时随机失败,没有任何接触异常。以下是示例代码:
@ExtendWith({MockitoExtension.class, OutputCaptureExtension.class})
class SampleTest {
// Few Mocks and InjectMock
@ParameterizedTest
@CsvSource({"foo,hi-foo", "bar,hi-bar"})
void someTest(String input, String output) {
assertEquals(output, "hi-" + input);
}
@Test
void anotherTest(CapturedOutput capturedOutput) {
assertFalse(capturedOutput.getAll().contains("Checking some logs"));
}
@Test
void lastTest(CapturedOutput capturedOutput) {
assertFalse(capturedOutput.getAll().contains("Again checking some logs"));
}
}
对如何解决这个问题有什么想法吗?
PS:我无法创建另一个测试文件。
解决方案是在JUnit5中使用嵌套的
类。我从根类中删除了OutputCapture Express
,并将其添加到嵌套的
类之上,它工作正常。
@ExtendWith(MockitoExtension.class)
class SampleTest {
// Few Mocks and InjectMock
@ParameterizedTest
@CsvSource({"foo,hi-foo", "bar,hi-bar"})
void someTest(String input, String output) {
assertEquals(output, "hi-" + input);
}
@Nested
@ExtendWith(OutputCaptureExtension.class)
class NestedTest {
@Test
void anotherTest(CapturedOutput capturedOutput) {
assertFalse(capturedOutput.getAll().contains("Checking some logs"));
}
@Test
void lastTest(CapturedOutput capturedOutput) {
assertFalse(capturedOutput.getAll().contains("Again checking some logs"));
}
}
}
{“时间戳”:1553613278534,“状态”:400,“错误”:“错误请求”,“消息”:“必需的字符串参数'param2'不存在”,“路径”:“/MyURL/42”} 我希望PUT的工作就像POST一样,但它似乎不是。 不幸的是,我不能将参数作为QueryParam发送,因此我应该维护相同的请求调用,因为我正在重构一个完全以这种方式工作的现有endpoint。
当异常发生在CompletableFuture中时,我试图设置一个默认值,我通过如下方法使其工作: 但是,当我试图在不好的事情发生时异常地使用complete来停止CompletableFuture,并按如下方式跟踪异常时,我无法像刚才那样捕捉到异常。 更新日期2018-06-09谢谢您的帮助,@Daniele 在join()之前封闭的句柄按预期工作。但在这种情况下,
我正在试验把杰克逊和龙目岛结合起来。这些是我的课: 这些是我添加到类spth中的JAR: > 龙目岛:https://projectlombok.org/downloads/lombok.jar(1.16.10version) 此外,Netbeans项目被配置为“保存时不编译”、“生成调试信息”、“报告不推荐使用的API”、“跟踪java依赖项”、“Activacte注释处理”和“编辑器中的Act
服务被调用,但我的问题是这行代码 不起作用,我的意思是它真的调用了adminDao。选择方法,从而从数据库中获取结果。这是我不想要的。你知道如何模拟方法调用吗?
更改单元格值后,我的不会刷新。我可以双击一个单元格并更改它的值,但是当我按OK或者我点击离开单元格时,值会重置为上一个,这不是更新表。这是我的自定义表模型的代码,我不知道如何更新数据库,因为当我改变单元格的值时,表是从一个db中取出来的。 如果您需要其他东西,例如数据库或表编辑器的代码,请告诉我;)谢谢您的帮助:) --编辑--好的,我已经实现了setValueAt方法,但是当我单击单元格时,它给
更新后反序列化失败。 我将我的微服务从更新到,并将从更新为,从更新为。 JSON字符串- 班级 - 方法调用- 用于反序列化的方法 - 错误 -