我使用DBUnit、Spring Test、TestNG和maven(Surefire自带)来运行测试。但是当DBUnit的一些断言失败时。它们没有指定我的哪个测试方法失败了,而是指定了AbstractTestNGSpringContextTests.springTestContextAfterTestMethod的测试方法。
你们能帮我隔离故障吗?我需要知道失败的根源。谢谢你,
如果在AbstractTestNGSpringContextTests.springTestContextAfterTestMethod()
中发生故障,则表示该故障发生在配置的TestExecutionListener
中的afterTestMethod()
方法中。
如果您通过自定义TestExecutionListener
使用DbUnit,那么您可能需要检查堆栈跟踪或日志以查看发生了什么。
将org.springframework.test.context
的日志级别设置为DEBUG
应该会对这个故事有所帮助。例如,在DEBUG日志级别,您应该看到相当多的日志消息,其中包括TestContext
,并且对于每个日志消息,您将看到testClass
和testMethod
属性。这将让您知道错误发生时哪个方法正在执行。
问候,
Sam (Spring TestContext框架的作者)