Groovy   发布时间:2022-04-12  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了对 Groovy 进行单元测试大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
 

本教程一直都强调 Groovy 只是 Java 的一个变体。您已经看到可以用 Groovy 编写并使用标准的 Java 程序。为了最后一次证明这点,在结束本教程之前,我们将通过 JUnit 利用 JavaSong 类进行单元测试。

将 JUnit 加入 Eclipse 项目

为了跟上本节的示例,需要将 JUnit 加入到 Eclipse 项目中。首先,右键单击项目,选择 Build Path,然后选择 Add Libraries,如图 14 所示:


图 14. 将 JUnit 加入到项目的构建路径

对 Groovy 进行单元测试


会出现 Add Library 对话框,如图 15 所示。


图 15. 从库列表中选择 JUnit

对 Groovy 进行单元测试


选择 JUnit 并单击 Next 按钮。应该会看到如图 16 所示的对话框。选择 JUnit34 — 具体选择哪项全凭自己决定 — 并单击 Finish 按钮。


图 16. 选择 JUnit 3 或 JUnit 4

对 Groovy 进行单元测试



对 Groovy 进行单元测试


对 Groovy 进行单元测试

对 Groovy 进行单元测试


@H_696_86@




设置新的测试用例

现在在项目的类路径中加入了 JUnit,所以能够编写 JUnit 测试了。请右键单击 java 源文件夹,选择 New,然后选择 JUnit Test Case。定义一个包,给测试用例命名(例如 SongTest),在 Class Under Test 部分,单击 Browse 按钮。

请注意,可以选择用 Groovy 定义的 Song 类。图 17 演示了这一步骤:


图 17.找到 Song 类

对 Groovy 进行单元测试


选择该类并单击 OK(应该会看到与图 18 类似的对话框)并在 New JUnit Test Case 对话框中单击 Finish 按钮。


图 18. Song 的新测试用例

@H_404_125@



对 Groovy 进行单元测试


对 Groovy 进行单元测试

对 Groovy 进行单元测试


@H_696_86@



定义测试方法

我选择使用 JUnit 4;所以我定义了一个名为 testToString() 的测试方法,如下所示:

package org.acme.groovy;

import org.junit.Test;

public class SongTest {

@Test
public void testToString(){}

}


对 Groovy 进行单元测试


对 Groovy 进行单元测试

对 Groovy 进行单元测试


@H_696_86@




测试 toString

显然,需要验证 toString() 方法是否没有问题,那么第一步该做什么呢?如果想的是 “导入 Song 类”,那么想得就太难了 — Song 类在同一个包内,所以第一步是创建它的实例。

在创建用于测试的 Song 实例时,请注意不能通过传给构造函数的映射完全初始化 — 而且,如果想自动完成实例的 setter 方法,可以看到每个 setter 接受的是 Object 而不是 String(如图 19 所示)。为什么会这样呢?


图 19. 所有的 setter 和 getter

对 Groovy 进行单元测试



对 Groovy 进行单元测试


对 Groovy 进行单元测试

对 Groovy 进行单元测试


@H_696_86@



@L_696_21@

如果回忆一下,就会记得我在本教程开始的时候说过:

现在回想一下,在定义 Song 类时,省略了每个属性的类型。Groovy 将自然地将每个属性的类型设为 Object。所以,在标准 Java 代码中使用 Song 类时,看到的 getter 和 setter 的参数类型和返回类型全都是 Object


对 Groovy 进行单元测试


对 Groovy 进行单元测试

对 Groovy 进行单元测试


@H_696_86@




修正返回类型

为了增添乐趣,请打开 Groovy Song 类,将 artist 属性改为 String 类型,而不是无类型,如下所示:

package org.acme.groovy

class Song {
def name
String artist
def genre

String toString(){
"${name},${artist},${getGenre()}"
}

def getGenre(){
genre?.toUpperCase()
}
}

现在,回到 JUnit 测试,在 Song 实例上使用自动完成功能 — 看到了什么?

在图 20 中(以及您自己的代码中,如果一直跟随本教程的话),setArtist() 方法接受一个 String而不是 Object。Groovy 再次证明了它就是 Java,而且应用了相同的规则。


图 20. String,而不是 object

对 Groovy 进行单元测试



对 Groovy 进行单元测试


对 Groovy 进行单元测试

对 Groovy 进行单元测试


@H_696_86@



始终是普通的 Java

返回来编写测试,另外请注意,认情况下 Groovy 编译的类属性是私有的,所以不能直接在 Java 中访问它们,必须像下面这样使用 setter:

@Test
public void testToString(){
Song sng = new Song();
sng.setArtist("Village People");
sng.setName("Y.m.C.A");
sng.setGenre("Disco");

Assert.assertEquals("Y.m.C.A,Village People,DISCO",
sng.toString());
}

编写这个测试用例余下的代码就是小菜一碟了。测试用例很好地演示了这样一点:用 Groovy 所做的一切都可以轻易地在 Java 程序中重用,反之亦然。用 Java 语言执行的一切操作和编写的一切代码,在 Groovy 中也都可以使用。

大佬总结

以上是大佬教程为你收集整理的对 Groovy 进行单元测试全部内容,希望文章能够帮你解决对 Groovy 进行单元测试所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。