另外一个重要的测试工具是Spock,这个是Peter Niederwieser使用Groory写的。使用Groovy基础框架,它很适合用于主要JVM基础语言测试,尤其是Java和Groovy本身。Groovy这种动态的语言很适合写出优雅的,高效的和表达性强的语言,不需要任何转变,就像Cucumber中使用一样。因为Spock的基础是JUnit,通过JUnit的@RunWith的工具整合,仅仅像Cucumber使用一样,它更容易提高我们传统的测试。
在这一节中,我们需要学习如何在Spring中依赖注入和测试驱动中开启MockMVC.我们将使用Spock来测试项目。
5.6.1代码实现
- 为了添加Spock测试在我们的项目中,我们需要在build.gradle文件中做一些改变。因为Spock测试是使用Groovy,我们首先加入如下的插件:
apply plugin: 'groovy'
- 我们还不需要添加Spock框架依赖的包在build.gradle文件中:
dependencies {
|
- 因为测试使用Groovy,我们需要创建新的目录。在项目根目录下创建文件夹:src/test/groovy/org/owen/bookpub
- 现在需要我们写入第一份测试文件,文件名为SpockBookRepositorySpecification.groovy文件在src/test/groovy/org/owen/bookpub目录下。
@WebAppConfiguration @ContextConfiguration(classes =[BookPubApplication.class,TestMockBeansConfig.class], loader =SpringApplicationContextLoader.class) class SpockBookRepositorySpecification extends Specification { @Autowired private ConfigurableWebApplicationContext context @Shared boolean sharedSetupDone = false @Autowired private DataSource ds; @Autowired private BookRepository repository; @Shared private MockMvc mockMvc;
@Autowired private PublisherRepository publisherRepository
void setup() { if (!sharedSetupDone) { mockMvc = MockMvcBuilders.webAppContextSetup(context).build(); sharedSetupDone = true |