2

一方面,有一个新的@RunWith注释可以让你即时更改单元测试框架。但另一方面,Spring 文档说org.springframework.test.annotation.ExpectedException

  • @deprecated 自 Spring 3.1 起,支持使用内置支持在底层测试框架(例如,JUnit、TestNG 等)中声明预期异常

因此,我的代码将取决于单元测试框架。请解释一下。

还有第二个问题。目前我使用 Spring@RunWith注释实现测试。org.junit.Test但我也为每个测试方法添加了 jUnit 特定的注释。同样,如果我正确理解了最好的方法 - 编写测试,那么我可以将例如 jUnit 更改为 TestNg。Spring@RunWith帮助我做到了这一点。但是我怎样才能避免使用org.junit.Test注释呢?

4

2 回答 2

5

@RunWith不是 Spring 注释。这是一个 JUnit。如您所想,它不允许您在 JUnit 和 TestNG 之间切换。相反,它允许您以不同的方式运行 JUnit 测试,例如添加 Spring 测试框架。在该框架中,Spring 已经提供ExpectedException了一段时间,但现在不再需要它,因为 JUnit 和 TestNG 的最新版本现在都提供了该功能。

于 2013-05-22T01:01:53.513 回答
1

您不能编写可以在 JUnit 和 TestNG 上运行的测试,因此您的代码必然依赖于测试框架。@RunWith 不是 Spring 对不同测试框架运行测试的注解,它属于 JUnit,用于与 SpringJUnit4Runner 等其他运行器一起运行 JUnit,以扩展 JUnit 功能

于 2013-05-22T03:51:32.507 回答