`
talentluke
  • 浏览: 592929 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

用testsuite管理junit单元测试用例

 
阅读更多

用TestSuite管理Junit单元测试用例

因为在测试过程中可能不能同时run所有的测试用例,或者是想同时run不同的测试用例或所有的用例,那么我们就要维护一个公共的Suite,这个Suite可以添加TestSuite或一个单个用例(测试函数)。

TestCase->TestSuite,Testmethods->TestSuite

举例说明:

package calculor.Calculor;
import static org.junit.Assert.*;
import junit.framework.TestCase;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

public class CalcTest extends TestCase {
 @Before
 public void setUp() throws Exception {
 }
 @After
 public void tearDown() throws Exception {
 }
 @Test
 public void testAdd() {
  //fail("Not yet implemented");
  assertEquals(2, 2);
 }
}

另外一个TestCase集合类

package calculor.Calculor;

import static org.junit.Assert.*;
import junit.framework.TestCase;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;

public class TTmmTest extends TestCase {
 public TTmmTest(){}
 public TTmmTest (String name){
  super(name);
 }//注意这里添加了这个构造函数,因为要调用父类的构造函数,用于下面Suite添加该类的测试方法

 @Before
 public void setUp() throws Exception {
 }
 @After
 public void tearDown() throws Exception {
 }
 @Test
 public void testHelloworld() {
  //fail("Not yet implemented");
  assertEquals(2,2);
 }
}

那么我们就可以对这两个不相关的测试类集合进行包装,就是建立一个TestSuite类,封装这些不相关的类,这对于我们大的项目来说是非常关键的,因为我们可能同时维护很多测试类,run回归测试用例等。

package calculor.Calculor;
import junit.framework.Test;
import junit.framework.TestSuite;
//import junit.sampling.*;
public class TestAll {
 public static Test suite()
 {
  TestSuite suite =x new TestSuite("All tests from part1");//表明这个标识性东西
  suite.addTestSuite(TTmmTest.class);
  suite.addTestSuite(CalcTest.class);
  suite.addTest(new TTmmTest("testHelloworld"));//这里可以添加单个的测试方法
  return suite;
 }

}

Tips:我们看到我们实际上增加了一个Test类,实际上Testsuite,TestCase都是实现了Test接口。

创建过程:TestRunner一开始现寻找测试类中的suite方法,找到了就加入testsuite

结果如图用testsuite管理junit单元测试用例

注意在编写测试用例的时候,要保持测试用例的独立性

一个原则,每条单元测试用例都必须独立运行不能依靠其他测试用例,或者不能按照什么顺序运行才可以。如果依靠其他测试用例的话,会给调试带来非常大的麻烦,所以这点一定要记住。

 

注意:Junit4中Test Suite的用法

貌似目前项目用到的Eclipse中新建Test Suite的向导是针对Junit3的,而且网上很多资料介绍Test Suite也都是Junit3的,这里简要介绍一下Junit4中Test Suite的使用方法。


一种是类似Junit3的方法:

 

import junit.framework.JUnit4TestAdapter;

import junit.framework.Test;

import junit.framework.TestSuite;

用testsuite管理junit单元测试用例

Junit3中是直接suite.addTest(Test1.class),Junit4中需要用JUnit4TestAdapter来转换一下。TestSuite中也可以添加TestSuite,方法是一样的,即suite.addTest(new JUnit4TestAdapter(TestSuite2.class));



另一种是使用标注的方法:
import  junit.testcase.JUnitTestCase;
import  junit.testcase.TestCase2;

import  org.junit.runner.RunWith;
import  org.junit.runners.Suite;用testsuite管理junit单元测试用例
分享到:
评论

相关推荐

    Junit单元测试所需要的两个jar包

    每个单元测试用例相对独立,由Junit 启动,自动调用。不需要添加额外的调用语句。 添加,删除,屏蔽测试方法,不影响其他的测试方法。 开源框架都对JUnit 有相应的支持。 4 测试方法注意事项 必须是public修饰的,...

    2、junit学习之hamcrest、testSuite介绍及测试原则

    NULL 博文链接:https://huihai.iteye.com/blog/1994270

    Java单元测试(Junit+Mock+代码覆盖率)

    单元测试是编写测试代码,用来检测特定的、明确的、细颗粒的功能。单元测试并不一定保证程序功能是正确的,更不...先看一个Junit3的样例如果采用默认的TestSuite,则测试方法必须是publicvoidtestXXX()[throwsExceptio

    Android-JUnit解析

    以上部分与我们平常使用IDE调试的过程是完全一样的,只不过是增加了测试用例管理、测试结果检测等功能,提高了单元的效率,保证了单元测试的完整性,明确了单元测试的目标。 以上4大功能,在JUnit的框架中是如何实现...

    使用JUnit对规则进行单元测试

    引言编写Mock类将测试数据保存到配置文件中编写SettersMap类编写可复用的TestCase类用TestSuite组织测试用例总结下载参考资料“规则”(Rule)在程序中有广泛的应用,本文将介绍在对“规则”进行单元测试(Unit...

    unittest较为详细的解析.docx

    unittest是Python单元测试框架,类似于JUnit框架。 unittest中有4个重要的概念:test fixture, test case, test suite, test runner Testcase: 一个TestCase的实例就是一个测试用例。什么是测试用例呢?就是一个...

    Python unittest单元测试框架总结

    什么是单元测试 单元测试是用来对一个模块、一个函数或者一个类来进行正确性检验的测试工作。 比如对于函数abs(),我们可以...unittest中最核心的四部分是:TestCase,TestSuite,TestRunner,TestFixture (1)一个T

    扩展JUnit4以促进测试驱动开发

    内容实际Java开发中单元测试常遇到的问题JUnit4的新特性和扩展机制JUnit4扩展的实现通过测试用例实例展示JUnit扩展的执行效果结论参考资料简介: 在采用测试驱动开发的项目中,有一个经常困扰开发者的问题是:当...

    GMS TestSuite Userguide 4.03

    Google 移动服务(GMS)是一家集了 Google 的Android应用程序框架提供的应用和服务。GMS的测试套件(GTS)是一个自动化...作为JUnit测试和封装成一个Android apk文件到运行在实际设备上的目标是用Java编写的测试案例。

    SoapUI-Pro-x64-5.1.2.exe

    把一个或多个测试套件(TestSuite)组织成项目,每个测试套件包含一个或多个测试用例(TestCase),每个测试用例包含一个或多个测试步骤,包括发送请求、接受响应、分析结果、改变测试执行流程等。 SOAPUl是由标准...

    unit-testing-framework:自动化和测试Roku频道的工具

    单元测试框架一种用于Roku频道的自动化测试套件的工具。范围以下框架允许开发人员运行单元测试并收集通道错误。当前实施当前的实现由Test Runner组成,Test Runner收集所有测试用例并逐个运行它们; Base Test Suite...

    fixprotocol-test-suite:用于 FIX 协议引擎的用例测试套件

    修复协议测试套件 用于 FIX 协议引擎的用例测试套件。

    单元测试UnitTest+Pytest【Selenium3】

    就像JUnit是Java语言的标准单元测试框架一样,unittest(PyUnit)则是Python语言的标准单元测试框架。unittest可以组织执行测试用例,并且提供了丰富的断言方法,可以判断测试用例是否通过,最终生成测试结果。用...

    NavigateAmazon:Python 2

    Testsuite.py 是 NavigateAmazon 项目所有测试的编译,聚合所有测试用例。 通过运行此测试套件,已导入其中的所有其他测试都将被执行。 测试用例,以及它们测试的场景: test_Login.py:在会员登录系统时测试 ...

    suite:stupidsing的个人程序套件

    这是什么? 我主要使用Java编写各种有用的代码段和勇敢尝试的库。... 一些代码随src / test / java文件夹中的简单JUnit测试用例一起提供。 通常,我会去图书馆看一本新书,试图从中汲取一些想法,并在此

    selenium怎样在多窗口中运行程序 (1)

    .test case 和testsuite的区别? test case是一个用例 test suite是一组用例 7.selenium IDE, selenium core, selenium core hta, selenium rc四者的概念以及它们之间的区别? selenium IDE(集成开发环境)。它...

Global site tag (gtag.js) - Google Analytics