SlideShare a Scribd company logo
1 of 2
Download to read offline
Unit Test Lesson 2
1. 测试类的私有方法时可以采取两种方式:
1) 修改方法的访问修饰符,将 private 修改为 default 或 public(但不推荐采
取这种方式)。
2) 使用反射在测试类中调用目标类的私有方法(推荐)。
2. TestSuite(测试套件):可以将多个测试组合到一起,同时执行多个测试。
3. JUnit 4 全面引入了 Annotation 来执行我们编写的测试。
4. JUnit 4 并不要求测试类继承 TestCase 父类。
5. 在一个测试类中,所有被@Test 注解所修饰的 public,void 方法都是 test case,
可以被 JUnit 所执行。
6. 虽然 JUnit 4 并不要求测试方法名以 test 开头,但我们最好还是按照 JUnit 3.8
的要求那样,以 test 作为测试方法名的开头。
7. 在 JUnit 4 中,通过@Before 注解实现与 JUnit 3.8 中的 setUp 方法同样的功能,
通过@After 注解实现与 JUnit 3.8 中的 tearDown 方法同样的功能。
8. 在 JUnit 4 中,可以使用@BeforeClass 与@AfterClass 注解修饰一个 public static
void no-arg 的方法,这样被@BeforeClass 注解所修饰的方法会在所有测试方
法执行前执行;被@AfterClass 注解所修饰的方法会在所有测试方法执行之后
执行。
9. @Ignore 注解可用于修饰测试类与测试方法,当修饰测试类时,表示忽略掉
类中的所有测试方法;当修饰测试方法时,表示忽略掉该测试方法。
10. 参数化测试(Parameters):当一个测试类使用参数化运行器运行时,需要在
类的声明处加上@RunWith(Parameterized.class)注解,表示该类将不使用 JUnit
内建的运行器运行,而使用参数化运行器运行;在参数化运行类中提供参数
的方法上要使用@Parameters 注解来修饰,同时在测试类的构造方法中为各
个参数赋值(构造方法是由 JUnit 调用的),最后编写测试类,它会根据参数
的组数来运行测试多次。
11. 在 JUnit 4 中 ,如 果想 要 同时 运 行多 个测 试 ,需 要 使用 两个 注 解 :
@RunWith(Suite.class)以及@Suite.SuiteClasses(),通过这两个注解分别指定使
用 Suite 运行 器 来运行 测 试 ,以 及 指定了 运 行 哪些 测 试类, 其 中 的
@SuiteClasses 中可以继续指定 Suite,这样 JUnit 会再去寻找里面的测试类,
一直找到能够执行的 Test Case 并执行之。
12. JUnit 在 TestCase 类中应用了模板方法模式:
13. JUnit 在 TestCase 类中应用了适配器(Adapter)模式:
在 runBare 方法中,通过 runTest 方法将我们自己编写的 testXXX 方法进行了适配,
使得 JUnit 可以执行我们自己编写的 Test Case,runTest 方法的实现如下:
在 runTest 方法中,首先获得我们自己编写的 testXXX 方法所对应的 Method 对象
(不带参数),然后检查该 Method 对象所对应的方法是否是 public 的,如果是
则调用 Method 对象的 invoke 方法来去执行我们自己编写的 testXXX 方法。

More Related Content

More from Medivh2011 (18)

北京圣思园深入Java虚拟机 class loader
北京圣思园深入Java虚拟机 class loader北京圣思园深入Java虚拟机 class loader
北京圣思园深入Java虚拟机 class loader
 
Unit test lesson 3
Unit test lesson 3Unit test lesson 3
Unit test lesson 3
 
Swing
SwingSwing
Swing
 
Reflection
ReflectionReflection
Reflection
 
Network
NetworkNetwork
Network
 
Multithread
MultithreadMultithread
Multithread
 
Jdk5
Jdk5Jdk5
Jdk5
 
Io 3
Io 3Io 3
Io 3
 
Io 2
Io 2Io 2
Io 2
 
Io 1
Io 1Io 1
Io 1
 
Inner class
Inner classInner class
Inner class
 
Event
EventEvent
Event
 
El
ElEl
El
 
Collection
CollectionCollection
Collection
 
Clone
CloneClone
Clone
 
Class loader
Class loaderClass loader
Class loader
 
Awt
AwtAwt
Awt
 
Ant
AntAnt
Ant
 

Recently uploaded

1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
黑客 接单【TG/微信qoqoqdqd】
 
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
jakepaige317
 
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptxEDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
mekosin001123
 
educ6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptxeduc6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptx
mekosin001123
 
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
jakepaige317
 

Recently uploaded (6)

EDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptxEDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptx
 
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
 
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
 
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptxEDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
 
educ6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptxeduc6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptx
 
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
 

Unit test lesson 2

  • 1. Unit Test Lesson 2 1. 测试类的私有方法时可以采取两种方式: 1) 修改方法的访问修饰符,将 private 修改为 default 或 public(但不推荐采 取这种方式)。 2) 使用反射在测试类中调用目标类的私有方法(推荐)。 2. TestSuite(测试套件):可以将多个测试组合到一起,同时执行多个测试。 3. JUnit 4 全面引入了 Annotation 来执行我们编写的测试。 4. JUnit 4 并不要求测试类继承 TestCase 父类。 5. 在一个测试类中,所有被@Test 注解所修饰的 public,void 方法都是 test case, 可以被 JUnit 所执行。 6. 虽然 JUnit 4 并不要求测试方法名以 test 开头,但我们最好还是按照 JUnit 3.8 的要求那样,以 test 作为测试方法名的开头。 7. 在 JUnit 4 中,通过@Before 注解实现与 JUnit 3.8 中的 setUp 方法同样的功能, 通过@After 注解实现与 JUnit 3.8 中的 tearDown 方法同样的功能。 8. 在 JUnit 4 中,可以使用@BeforeClass 与@AfterClass 注解修饰一个 public static void no-arg 的方法,这样被@BeforeClass 注解所修饰的方法会在所有测试方 法执行前执行;被@AfterClass 注解所修饰的方法会在所有测试方法执行之后 执行。 9. @Ignore 注解可用于修饰测试类与测试方法,当修饰测试类时,表示忽略掉 类中的所有测试方法;当修饰测试方法时,表示忽略掉该测试方法。 10. 参数化测试(Parameters):当一个测试类使用参数化运行器运行时,需要在 类的声明处加上@RunWith(Parameterized.class)注解,表示该类将不使用 JUnit 内建的运行器运行,而使用参数化运行器运行;在参数化运行类中提供参数 的方法上要使用@Parameters 注解来修饰,同时在测试类的构造方法中为各 个参数赋值(构造方法是由 JUnit 调用的),最后编写测试类,它会根据参数 的组数来运行测试多次。 11. 在 JUnit 4 中 ,如 果想 要 同时 运 行多 个测 试 ,需 要 使用 两个 注 解 : @RunWith(Suite.class)以及@Suite.SuiteClasses(),通过这两个注解分别指定使 用 Suite 运行 器 来运行 测 试 ,以 及 指定了 运 行 哪些 测 试类, 其 中 的 @SuiteClasses 中可以继续指定 Suite,这样 JUnit 会再去寻找里面的测试类, 一直找到能够执行的 Test Case 并执行之。 12. JUnit 在 TestCase 类中应用了模板方法模式:
  • 2. 13. JUnit 在 TestCase 类中应用了适配器(Adapter)模式: 在 runBare 方法中,通过 runTest 方法将我们自己编写的 testXXX 方法进行了适配, 使得 JUnit 可以执行我们自己编写的 Test Case,runTest 方法的实现如下: 在 runTest 方法中,首先获得我们自己编写的 testXXX 方法所对应的 Method 对象 (不带参数),然后检查该 Method 对象所对应的方法是否是 public 的,如果是 则调用 Method 对象的 invoke 方法来去执行我们自己编写的 testXXX 方法。