|
JUnit4简介
Junit是一个可编写重复测试的简单框架,是基于Xunit架构的单元测试框架的实例。JUnit4是JUnit框架
有史以来的最大改进,其主要目标便是利用JDK 5的Annotation特性简化测试用例的编写。JDK 5里可
以静态导入,例如import static org.junit.Assert.*;。Annotation又称注解(或元数据),其实就是@Be
fore、@After、@BeforeClass、@AfterClass、@Test等等。
@Before @BeforeClass @After @AfterClass的区别
简单来说,@Before@After会在每一个被@Test注解的方法前、后分别执行,比如有5个被@Test注解
的方法,那么@Before@After会被执行5次。被@Before@After注解的方法一般起到初始化和释放的作
用。这么做就保证了每一次@Test执行,他们都是相互独立,互不干扰的。
而@BeforeClass@AfterClass从头至尾仅会执行一次。对于那些较耗资源的,建议采用这种方法。
@Test执行顺序
一般来说,被@Test注解的方法是随机顺序执行的,因为单元测试,本身它们就应该是互不干扰可以
独立运行的。
但是某些特殊情况下,想让它按照一定顺序执行的话,可以使用@FixMethodOrder(MethodSorters.N
AME_ASCENDING),放在JUnit测试类定义的外面,这样一来就会按照方法名称的升序来执行。此时命
好方法的名字,就可以轻松实现既定顺序执行。
更多关于JUnit4
JUnit4代码块
将JUnit4测试类放在被测类的同一package下,让它们处于同一层级,这样就不用import被测类了。
- package pkg_Selector;
- import org.junit.*;
- import org.junit.runners.MethodSorters;
- import org.openqa.selenium.By;
- import org.openqa.selenium.WebDriver;
- import static org.junit.Assert.*;
- /**
- * Created by Sophie on 15/7/6.
- */
- @FixMethodOrder(MethodSorters.NAME_ASCENDING)
- public class SelectorTest {
- private static Selector s;
- private static WebDriver afterLogin;
- private static WebDriver afterSwitch;
- private static WebDriver aftermouseMove;
- private static WebDriver afterSearch;
- private static WebDriver afterSelect;
- @BeforeClass
- public static void setUp() throws Exception {
- s = new Selector();
- }
- @AfterClass
- public static void tearDown() throws Exception {
- s.tearDown();
- }
- @Test
- public void test1_login() throws Exception {
- afterLogin = s.login();
- assertEquals("挖财社区,国内最大的理财社区", afterLogin.getTitle());
- }
- @Test
- public void test2_switchWindow() throws Exception {
- afterSwitch = s.switchWindow();
- assertEquals("理财规划_理财学院_挖财社区,国内最大的理财社区,爱理财的人都在这里",afterSwitch.getTitle());
- }
- @Test
- public void test3_mouseMove() throws Exception {
- aftermouseMove = s.mouseMove();
- assertEquals("用户",aftermouseMove.findElement(By.cssSelector("a.showmenu.xg1")).getText());
- }
- @Test
- public void test4_search() throws Exception {
- afterSearch = s.search();
- assertEquals("查找好友 - 挖财社区",afterSearch.getTitle());
- }
- @Test
- public void test5_select() throws InterruptedException {
- afterSelect = s.select();
- assertEquals(true,afterSelect.getPageSource().contains("以下是查找到的用户列表(最多显示 100 个)"));
- }
- }
复制代码 JUnit4运行结果截图
5个test都是通过的:
被测代码块
|
|