Maven Surefire+;TestNG+;DBUnit:未指定哪种测试方法失败

Maven Surefire+;TestNG+;DBUnit:未指定哪种测试方法失败,testng,dbunit,spring-test,maven-surefire-plugin,spring-test-dbunit,Testng,Dbunit,Spring Test,Maven Surefire Plugin,Spring Test Dbunit,我使用DBUnit、springtest、TestNG和maven(与Surefire一起提供)来运行测试。 但是当DBUnit的一些断言失败时。他们没有指定我的哪种测试方法失败,而是指定AbstractTestNGSpringContextTests.springTestContextAfterTestMethod的测试方法 你们能帮我找出失败的原因吗。我需要知道失败的根源。 谢谢,如果在AbstractTestNGSpringContextTests.springTestContextAft

我使用DBUnit、springtest、TestNG和maven(与Surefire一起提供)来运行测试。 但是当DBUnit的一些断言失败时。他们没有指定我的哪种测试方法失败,而是指定AbstractTestNGSpringContextTests.springTestContextAfterTestMethod的测试方法

你们能帮我找出失败的原因吗。我需要知道失败的根源。
谢谢,

如果在
AbstractTestNGSpringContextTests.springTestContextAfterTestMethod()
中发生故障,则表示故障发生在已配置的
TestExecutionListener
中的
afterTestMethod()
方法中

如果您通过自定义的
测试执行列表使用DbUnit,那么您可能需要检查堆栈跟踪或日志以查看发生了什么

org.springframework.test.context
的日志级别设置为
DEBUG
,应该会对这个故事有所帮助。例如,在调试日志级别,您应该会看到相当多的日志消息,其中包括
TestContext
,对于每一条消息,您都会看到
testClass
testMethod
属性。这将让您知道错误发生时正在执行哪个方法

问候,


Sam(SpringTestContext框架的作者)

Hi,我为org.springframework.test.context添加了记录器设置,但它不起作用。甚至org.dbunit.assertion的记录器设置也是如此。只显示测试类的名称。没别的了。springTestContextAfterTestMethod(com.bac.web.uicontrolLeImplTest)根据
org.springframework.test.context
调试日志记录绝对有效。因此,您必须错误地设置日志记录。让日志记录在测试中工作的最简单方法是将Log4j添加到类路径中,并在类路径的根目录中配置
Log4j.properties
Log4j.xml
——例如在
src/test/resources
中。谢谢Brannen。我测试log4j是否从我的文件log4j.xml获得设置。我确信log4j.xml文件工作正常。我确实试图使它无效,log4j立即抱怨。我还尝试更改某些包的日志级别,这会产生影响。如果不查看您的项目,恐怕我们无法为您提供更多帮助。因此,您能否创建一个以最简单的方式重现问题的模型?