断言在java中没有失败
我有以下代码:断言在java中没有失败,java,unit-testing,junit,rx-java,vert.x,Java,Unit Testing,Junit,Rx Java,Vert.x,我有以下代码: public Single<Post> doSomething(Post post) { String endPoint = "some-url"; JsonObject payload = new JsonObject().put("message", post.getPost()); return oAuth.rxApi(HttpMethod.POST, endPoint, payload) .map(r ->
public Single<Post> doSomething(Post post) {
String endPoint = "some-url";
JsonObject payload = new JsonObject().put("message", post.getPost());
return oAuth.rxApi(HttpMethod.POST, endPoint, payload)
.map(r -> {
post.setPostId(r.getString("id"));
post.setStatus(PostStatus.PROCESSED);
return post;
}).onErrorReturn(e -> {
post.setStatus(PostStatus.FAILED);
post.setError(e.getMessage());
return post;
});
}
现在我在这种情况下的主张总是通过的。即使我做了一个错误的断言,它始终是绿色的。断言是在可观察链的上下文中执行的,不能直接从测试中访问
而是使用
TestSubscriber
订阅可观察链。它上面有许多断言。断言是在可观察链的上下文中执行的,不能直接从测试中访问
而是使用
TestSubscriber
订阅可观察链。它上面有许多断言。您是否使用-ea
选项启用了断言检查
断言,已禁用。。。此外,测试框架通常公开自己的“断言”方法。例如,在jUnit(org.jUnit.Assert)上,您可能会找到static assertTrue()、assertarayequals()、assertNull()等等。您是否使用
-ea
选项启用了断言检查
断言,已禁用。。。此外,测试框架通常公开自己的“断言”方法。例如,在jUnit(org.jUnit.Assert)上,您可能会发现static assertTrue()、assertArrayEquals()、assertNull()等等是,
-ea
已启用。它适用于其他测试用例,但失败。是的,-ea
已启用。它适用于其他测试用例,但在这方面它失败了。
@Test
public void shouldHandleFailureWhilePosting() {
Post post = new Post();
post.setSocialAccountID("1234");
post.setAccessToken("ABC");
post.setPost("Some post to share!!!");
String shareEndPoint = "some-url";
JsonObject sharePayload = new JsonObject().put("message", post.getPost());
when(oAuth2Auth.rxApi(HttpMethod.POST, shareEndPoint, sharePayload)).thenReturn(Single.error(new NoStackTraceThrowable("Error")));
service.doSomething(post)
.subscribe(postResponse -> {
assert postResponse.getError().equals("Errorssss");
assert postResponse.getAttachedMedia() == null;
assert postResponse.getPostId() == null;
assert postResponse.getStatus().equals(PostStatus.FAILED);
});
}