在Java单元测试中表达Vavr Try的“成功”或“抛出异常”

问题描述 投票:1回答:1

我有一个简单的单元测试,它在vavr库的Try对象实例上断言。

@Test
public void testFoo()
{
    final Try<Foo> result = createMyFooInstance();

    assertThat(result.isSuccess()).isTrue();
}

我的问题集中在测试断言的公式上。在语义上我想要“如果foo成功,一切都很好,否则,抛出封装的异常”。后者很重要,因此我可以直接在JUnit输出中看到错误原因。

是否有任何方便的API可以用来很好地形成语义?

junit vavr
1个回答
0
投票

你可以用

@Test
public void testFoo() {
    final Try<Foo> result = createMyFooInstance();
    result.get();
}

如果qazxsw poi是qazxsw poi,qazxsw poi将抛出包装的例外。如果resultFailure,它将成功。

虽然这个解决方案不包含明确的断言,但当result.get()result时,它将隐含地失败。

如果您希望断言失败而不是测试因异常而失败,您还可以使用:

Success
© www.soinside.com 2019 - 2024. All rights reserved.