Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1138413
  • 博文数量: 196
  • 博客积分: 4141
  • 博客等级: 中将
  • 技术积分: 2253
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-21 20:04
文章存档

2019年(31)

2016年(1)

2014年(16)

2011年(8)

2010年(25)

2009年(115)

分类: Java

2014-10-11 03:32:59


点击(此处)折叠或打开

  1. public class ScenarioCase extends TestAssert {
  2.     private String name = this.getClass().getName();

  3.     private WUnitPrintWriter testWrite = new WUnitPrintWriter();

  4.     private List<TestResult> testResultList = new ArrayList<TestResult>();

  5.     public String getName() {

  6.         return name;
  7.     }

  8.     public List<String> listAllTestCases() throws IntrospectionException {
  9.         int i;

  10.         Method method = null;
  11.         List<String> methodNameList = new ArrayList<String>();
  12.         Class<?> cls = getClass();
  13.         Method[] methods = cls.getMethods();

  14.         for (i = 0; i < methods.length; ++i) {
  15.             method = methods[i];
  16.             // 1表示公有成员
  17.             if (method.getModifiers() == 1 && method.getName().startsWith("test") == true) {
  18.                 methodNameList.add(method.getName());
  19.             }
  20.         }

  21.         return methodNameList;
  22.     }

  23.     public void run(String caseName) {

  24.         TestResult testResult = new TestResult();

  25.         Method method = null;

  26.         try {
  27.             method = getClass().getMethod(caseName);
  28.             method.invoke(this);

  29.             testResult.setCaseResult("Pass");
  30.         } catch (Exception e) {
  31.             testResult.setCaseResult("Not Pass");
  32.             e.printStackTrace(getPrintWriter().getPrintWriter());
  33.         }

  34.         testResult.setCaseName(caseName);

  35.         testResult.setCaseLog(getPrintWriter().getBuf());
  36.         getPrintWriter().getPrintWriter().flush();

  37.         testResultList.add(testResult);
  38.     }

  39.     public void runAll() {

  40.         int i;

  41.         Method method = null;
  42.         Class<?> cls = getClass();
  43.         Method[] methods = cls.getDeclaredMethods();

  44.         for (i = 0; i < methods.length; ++i) {
  45.             method = methods[i];
  46.             // 1表示公有成员
  47.             if (method.getModifiers() == 1 && method.getName().startsWith("test") == true) {
  48.                 run(method.getName());
  49.             }
  50.         }
  51.     }

  52.     public List<TestResult> getTestResultList() {

  53.         return testResultList;
  54.     }

  55.     // 打印消息
  56.     public WUnitPrintWriter getPrintWriter() {

  57.         return testWrite;
  58.     }
  59. }

阅读(3149) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~