The goal of the RocketMQ5.0 client SDK is to provide the implementation of all mainstream programming languages,it is inevitable to consider how to solve quality problem of each programming language client. Although the client implementation of each programming language are different, the user behavior is consistent. Taking the RocketMQ5.0 Java client as an example, it can be seen from the interface exposed to the user that the classes and methods involved in the actual use for the user are limited. Based on the following two foundations, a language-independent E2E test co-construction method for client of each programming language is proposed:
exmaples:
Feature: Test producer send message with normal topic
Background:
Given Instance username、password and endpint
Scenario: send normal msgs sync
Given normal topic name to use
When create normal topic
And create and start producer
And use producer send 10 msgs
Then receive 10 success response from server
Scenario: send normal msgs async
Given normal topic name to use
When create normal topic
And create and start producer
And use producer async send 10 msgs
Then receive 10 success callback response from server
At present, the Java and Go E2E test scenarios have been open sourced, welcome to co-construction. Use the test frameworks of each programming language to establish E2E test frameworks and test scenarios in each programming language, and improve the client quality of RocketMQ5.0 together.