Junit5:@Rule 和 Expect 的等价物
Junit5: Equivalent of @Rule and Expect
我有一些代码是用旧版本的 jUnit 编写的。现在我正在尝试迁移。
如何在Junit5中写这个?
@Test
public void testSignatureFailureRuntimeException() throws Exception {
thrown.expect(java.lang.IllegalArgumentException.class);
HmacUtil hmacUtil = new HmacUtil(HmacUtil.SignatureAlgorithm.HMAC_SHA1, "");
}
@Test
public void testDeploymentInfoWithEmptyConfig() {
thrown.expect(NullPointerException.class);
deploymentId = UUID.randomUUID().toString();
FunctionDeploymentInfo.FunctionDeploymentInfoBuilder builder = FunctionDeploymentInfo.builder();
FunctionDeploymentInfo fdi = builder
.withDeploymentId(deploymentId)
.withFulfilledBy(this.getClass().getName())
.forPodTag(MicrodoseConstants.ONE_DATA)
.withConfig(new JsonObject())
.build();
LocalMap<String, FunctionDeploymentInfo> deploymentInfo = vertx.sharedData().getLocalMap(deploymentInfoKey);
deploymentInfo.clear();
LocalMap<String, String> addressIndex = vertx.sharedData().getLocalMap(addressIndexKey);
addressIndex.clear();
fdi.registerDeploymentInfo(addressIndex, deploymentInfo);
}
还有一个是@Rule
@ExtendWith(VertxExtension.class)
public class FunctionDeploymentInfoTest {
@Rule
public ExpectedException thrown = ExpectedException.none();
你可以试试第一个:
Assertions.assertThrows(IllegalArgumentException.class, () -> new HmacUtil(HmacUtil.SignatureAlgorithm.HMAC_SHA1, ""));
对于第二个,也许这会对您有所帮助:
我有一些代码是用旧版本的 jUnit 编写的。现在我正在尝试迁移。
如何在Junit5中写这个?
@Test
public void testSignatureFailureRuntimeException() throws Exception {
thrown.expect(java.lang.IllegalArgumentException.class);
HmacUtil hmacUtil = new HmacUtil(HmacUtil.SignatureAlgorithm.HMAC_SHA1, "");
}
@Test
public void testDeploymentInfoWithEmptyConfig() {
thrown.expect(NullPointerException.class);
deploymentId = UUID.randomUUID().toString();
FunctionDeploymentInfo.FunctionDeploymentInfoBuilder builder = FunctionDeploymentInfo.builder();
FunctionDeploymentInfo fdi = builder
.withDeploymentId(deploymentId)
.withFulfilledBy(this.getClass().getName())
.forPodTag(MicrodoseConstants.ONE_DATA)
.withConfig(new JsonObject())
.build();
LocalMap<String, FunctionDeploymentInfo> deploymentInfo = vertx.sharedData().getLocalMap(deploymentInfoKey);
deploymentInfo.clear();
LocalMap<String, String> addressIndex = vertx.sharedData().getLocalMap(addressIndexKey);
addressIndex.clear();
fdi.registerDeploymentInfo(addressIndex, deploymentInfo);
}
还有一个是@Rule
@ExtendWith(VertxExtension.class)
public class FunctionDeploymentInfoTest {
@Rule
public ExpectedException thrown = ExpectedException.none();
你可以试试第一个:
Assertions.assertThrows(IllegalArgumentException.class, () -> new HmacUtil(HmacUtil.SignatureAlgorithm.HMAC_SHA1, ""));
对于第二个,也许这会对您有所帮助: