Я использую следующий репо: https://github.com/TooTallNate/Java-WebSocket
У меня есть базовый класс:
public final class awaitCRD extends WebSocketClient {
public static void main() throws URISyntaxException, InterruptedException {
JSONObject jsonObj = new JSONObject()
.put("item", "1")
.put("Item", "2")
.put("Item", "3")
WebSocketClient client = new awaitCRD(new URI(BASE_WSS));
client.connectBlocking(60000, TimeUnit.MILLISECONDS);
client.send(jsonObj.toString()); // SEND PAYLOAD
}
public awaitCRD(URI serverURI) {
super(serverURI);
}
@Override
public void onOpen(ServerHandshake handshakedata) {
System.out.println("new connection opened");
}
@Override
public void onClose(int code, String reason, boolean remote) {
System.out.println("closed with exit code " + code + " additional info: " + reason);
}
@Override
public void onMessage(String message) {
System.out.println("received message: " + message);
assertEquals(message,"{\"state\":\"FAIL HERE\"}");
}
@Override
public void onMessage(ByteBuffer message) {
System.out.println("received ByteBuffer");
}
@Override
public void onError(Exception ex) {
System.err.println("an error occurred:" + ex);
}
}
и тестовый класс:
@Test(description = "Testing 1", singleThreaded=true)
@Description("Description : 1")
@Severity(SeverityLevel.BLOCKER)
@Story("Story 1")
public void myTest1() throws URISyntaxException, InterruptedException {
awaitCRD.main();
}
Когда запускаются тесты, исключение выдается и отправляется на терминал. Однако testNG показывает это как PASS. Я думаю, что это связано с потоками. У кого-нибудь еще была эта проблема?
Ошибка ложного срабатывания