测试用例生成向导
Unit Test for Multi-Thread 为用户提供了测试用例生成向导,通过此向导,用户可以很方便地构建自己的多线程测试用例,具体使用过程如下:
1. 在 Eclipse 中,选择 File -> New -> Others,选定图中所示:Unit Test for Multi-Thread, 双击进入下一个界面
图 6:测试用例生成向导界面
2. 将你需要测试的程序类名填入对应位置,图中例子类名是 demo.CoverageDemo。点击 next,进入下一界面
图 7: 使用生成测试用例面板创建新的测试用例
3. 在 Methods List 栏目下面选择需要进行单元测试的方法;Threaded 栏目下面确定是否使用多线程的方式进行测试,选中为生成多线程,不选则为生成单线程测试用例;在标题为 Thread Numbers for launching the Threaded methods 的文本框中可以设置测试将使用的线程数目列表,图中所示,该单元测试会分别用 1、2、4、8、16、32 和 64 个线程执行需要并行测试的方法。
图 8:选择需要进行多线程测试的方法和设定测试线程数
Unit Test for Multi-Thread 将根据设置向导自动生成测试用例的完整代码框架,用户可根据被测试代码直接在此框架下添加所需测试的内容,以此提高编写测试用例的效率。
自动生成的测试用例形式如下:
package test;
import static org.junit.Assert.*;
import org.amino.util.msdk.unit.Parallelized;
import org.amino.util.msdk.unit.annotation.CheckFor;
import org.amino.util.msdk.unit.annotation.InitFor;
import org.amino.util.msdk.unit.annotation.ParallelSetting;
import org.amino.util.msdk.unit.annotation.Threaded;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.runner.RunWith;
@RunWith(Parallelized.class)
@ParallelSetting(threadNumber = { 1, 2, 4, 8, 16, 32, 64 })
public class TestUnitExtensionSample1 {
@BeforeClass
public static void setUpBeforeClass() throws Exception {}
@AfterClass
public static void tearDownAfterClass() throws Exception {}
@Before
public void setUp() throws Exception {}
@After
public void tearDown() throws Exception {}
@InitFor("testAdd")
public void initfortestAdd(int threadNum){}
@CheckFor("testAdd")
public void checkfortestAdd(int threadNum){}
@Threaded
public void testAdd(int rank, int threadNum){
}
}
import static org.junit.Assert.*;
import org.amino.util.msdk.unit.Parallelized;
import org.amino.util.msdk.unit.annotation.CheckFor;
import org.amino.util.msdk.unit.annotation.InitFor;
import org.amino.util.msdk.unit.annotation.ParallelSetting;
import org.amino.util.msdk.unit.annotation.Threaded;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.runner.RunWith;
@RunWith(Parallelized.class)
@ParallelSetting(threadNumber = { 1, 2, 4, 8, 16, 32, 64 })
public class TestUnitExtensionSample1 {
@BeforeClass
public static void setUpBeforeClass() throws Exception {}
@AfterClass
public static void tearDownAfterClass() throws Exception {}
@Before
public void setUp() throws Exception {}
@After
public void tearDown() throws Exception {}
@InitFor("testAdd")
public void initfortestAdd(int threadNum){}
@CheckFor("testAdd")
public void checkfortestAdd(int threadNum){}
@Threaded
public void testAdd(int rank, int threadNum){
}
}