我正在研究使用芭蕾舞演员发送消息的过程肥皂。在这种情况下,我需要编写一个单元测试来断言来自后端axis2服务的响应。
我尝试了以下选项进行断言:
1。试图将肥皂响应转换为xml并以预期的共振进行断言,但似乎芭蕾舞女演员当前不支持使用xml有效负载进行断言。
我厌倦了下面的代码片段来尝试断言。
import ballerina/io;
import ballerina/test;
import wso2/soap;
import ballerina/http;
endpoint http:Client clientEP {
url:"http://localhost:9091"
};
@test:Config
function testAssertion() {
io:println("This function is testing the xml assertion\n");
xml a1 = xml `<book><name>Sample1</name></book>`;
xml a2 = xml `<book><name>Sample2</name></book>`;
test:assertEquals(a1, a2, msg = "Assertion failed");
}
通过了以下测试。
Compiling tests seran/consuming_a_soap_service:0.0.1
Running tests
seran/consuming_a_soap_service:0.0.1
This function is testing the xml assertion
[pass] testAssertion
1 passing
0 failing
0 skipped
2。试图将xml转换为json并断言 顶级名称空间被继承到子元素中,即使响应和预期响应中的xml有效负载相同,子元素也会导致测试失败。我对此行为感到困惑。我在响应中使用的XML与预期的有效负载相同,并将它们都转换为json和assert,但是测试仍然失败。
3。试图遍历xml有效负载并仅声明内容。 这似乎不是一个好方法,因为我们没有断言响应的xml格式。
我该如何进行单元测试?