Java 如何在testNG软断言比较列表中查看所有断言错误消息<;字符串>;

Java 如何在testNG软断言比较列表中查看所有断言错误消息<;字符串>;,java,testng,assert,Java,Testng,Assert,我试图将列表A和列表B与softAssert.assertEquals(A,B,“消息”)进行比较在testng中 它给我第一条比较错误消息: 列表在元素[2]处不同:Sanders!=阿德勒期望[Sanders],但找到[Adler] 但是还有其他的比较错误——我怎样才能看到所有这些错误呢 我知道如何在不使用testNG的情况下比较它们-要求使用testNG 简短回答:您需要编写自己的SoftAssert TestNG中的SoftAssert使用assertEquals()中的assertEq

我试图将
列表A
列表B
softAssert.assertEquals(A,B,“消息”)进行比较在testng中

它给我第一条比较错误消息:

列表在元素[2]处不同:Sanders!=阿德勒期望[Sanders],但找到[Adler]

但是还有其他的比较错误——我怎样才能看到所有这些错误呢


我知道如何在不使用testNG的情况下比较它们-要求使用testNG

简短回答:您需要编写自己的
SoftAssert

TestNG中的
SoftAssert
使用
assertEquals()
中的
assertEquals()
并捕获所有异常以在
assertAll()之后抛出它们
assertEquals()
只需在列表中迭代并找到第一个错误


如果您必须只使用TestNG断言,那么最好手动迭代列表并为每个元素创建软断言。请参见此处的示例

简短回答:您需要编写自己的
SoftAssert

TestNG中的
SoftAssert
使用
assertEquals()
中的
assertEquals()
并捕获所有异常以在
assertAll()之后抛出它们
assertEquals()
只需在列表中迭代并找到第一个错误


如果您必须只使用TestNG断言,那么最好手动迭代列表并为每个元素创建软断言。请参见此处的示例

您的列表有多大?你可以将内容作为“消息”的一部分输出。你的列表有多大?您可以随时将内容作为“消息”的一部分输出。这很好,非常感谢!但是当这些列表有不同的长度时,我们能有一个像“第一(或第二)列表有额外成员”aaa、“bbb”、“ccc”这样的消息吗“?我已经更新了示例。但是你应该先想想——你的列表大小不同可以吗?可能在继续之前,您必须添加断言以检查大小。再次感谢您,我甚至知道如何说bolshoe spasibo!我做的不同,但我喜欢你的代码!我添加了断言来检查大小。现在-也许你会帮助我从Excel中读取测试的参数-我知道如何在java中读取带有循环的Excel,但在测试NG中-我需要从Excel中读取方法名称,并选择适当的测试,并将不同的参数传递给该测试(如果在Excel中选择的话)-在特定列中有y。我想我需要阅读@BeforeSuite中的一行-但是如何返回到下一行并继续?非常感谢。你能分享你的excel文件的一个样本吗?2张纸-带有ExpResFile路径、分隔符、ActResFile路径、分隔符列的表格GetFiles;带有编号、测试用例、参数、包含、列、方法的表TC。这太好了,非常感谢!但是当这些列表有不同的长度时,我们能有一个像“第一(或第二)列表有额外成员”aaa、“bbb”、“ccc”这样的消息吗“?我已经更新了示例。但是你应该先想想——你的列表大小不同可以吗?可能在继续之前,您必须添加断言以检查大小。再次感谢您,我甚至知道如何说bolshoe spasibo!我做的不同,但我喜欢你的代码!我添加了断言来检查大小。现在-也许你会帮助我从Excel中读取测试的参数-我知道如何在java中读取带有循环的Excel,但在测试NG中-我需要从Excel中读取方法名称,并选择适当的测试,并将不同的参数传递给该测试(如果在Excel中选择的话)-在特定列中有y。我想我需要阅读@BeforeSuite中的一行-但是如何返回到下一行并继续?非常感谢。你能分享你的excel文件的一个样本吗?2张纸-带有ExpResFile路径、分隔符、ActResFile路径、分隔符列的表格GetFiles;带有编号、测试用例、参数、包含、列、方法的表TC。从…起