博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自动测试用工具
阅读量:4325 次
发布时间:2019-06-06

本文共 3024 字,大约阅读时间需要 10 分钟。

写代码的时候,常需要判断一些方法或者技术点是否合适?必须写一些简单的代码,进行测试。每次测试一个技能或者一个方法应用都必须建一个新工程,很麻烦,同事也不利于公众技术问题的总结。

一直以来都想做一个简单的工程文件,其中包括长期以来积累的各类小代码集合。方便知识积累,同时也能提高工作效率。

思路:在一个工程下,每次想创建一个方法(测试),新建一个方法名如TestXX,需要完成的内容全部写进TestXX方法后。启动代码,在CheckedListBox(或者其它ListBox等)下自动显示平时创建的Test名。如下,画面启动左侧显示所有Test方法名。

根据自己的需要,选择并点击该TestXX,立刻执行自己想要的测试代码。

下午花了1个小时,做了个简单的示例。

using System;

using System.Collections.Generic;
using System.Windows.Forms;
using Microsoft.VisualBasic;
using System.Reflection;
using CSharp.Japanese.Kanaxs;

namespace WindowsFormsApplication2

{
public partial class TESTFORM : Form
{
Dictionary<string, EventHandler> dicEventH;
public TESTFORM()
{
InitializeComponent();

InitialControl();

}

/// <summary>

/// get the methods name and the delegate of the method
/// </summary>
/// <param name="type"></param>
private void GetMethods(Type type)
{
dicEventH = new Dictionary<string,EventHandler>();
foreach (var method in type.GetMethods())
{
string tempName = method.Name;
if (tempName.Contains("Test"))
{
//put all the test method name into the chkListBox control.
chkListBox.Items.Add(tempName, false);

//set all the test mothod delegate into listEventH

dicEventH.Add(tempName,(EventHandler)Delegate.CreateDelegate(
typeof(EventHandler), this, method));
}

}

}

//initialize the control

private void InitialControl()
{
chkListBox.Items.Clear();
GetMethods(typeof(TESTFORM));
}

private void chkListBox_SelectedIndexChanged(object sender, EventArgs e)

{
//item is checked and be chosed at the same time
if (chkListBox.CheckedItems.Contains(chkListBox.SelectedItem))
{
var value = dicEventH[chkListBox.SelectedItem.ToString()];
value(sender, e);
}
}

#region added the test method as you like, but keep the name as TestXXX

public void Test1(object sender, EventArgs e)
{
//TEST1
string methodName = string.Format(MethodBase.GetCurrentMethod().Name);
textBox1.AppendText(methodName + "\n");
}

public void Test2(object sender, EventArgs e)

{
//TEST1
string methodName = string.Format(MethodBase.GetCurrentMethod().Name);
textBox1.AppendText(methodName + "\n");

}

public void Test3(object sender, EventArgs e)

{
string methodName = string.Format(MethodBase.GetCurrentMethod().Name);

string msg = "くるり動物病院にとな゜1゜2゙3?4?5";

textBox1.AppendText("Before" + msg + "\n");

string msgC = Strings.StrConv(msg, VbStrConv.Wide, 0).Replace("\\", "¥").Replace("?", " ");

textBox1.AppendText("Strings.StrConv:" + msgC + "\n");
string msgF = KanaEx.ToHankaku(msg);
textBox1.AppendText("KanaEx.ToHankaku:" + msgF + "\n");
}
public void Test4(object sender, EventArgs e)
{
//TEST4
string methodName = string.Format(MethodBase.GetCurrentMethod().Name);
textBox1.AppendText(methodName + "\n");

}

public void TestXX(object sender, EventArgs e)

{
//TESTXX
string methodName = string.Format(MethodBase.GetCurrentMethod().Name);
textBox1.AppendText(methodName + "\n");
//TODO what you want when you want a test
}
#endregion

private void btnClear_Click(object sender, EventArgs e)

{
InitialControl();
textBox1.Clear();
}

}
}

 

转载于:https://www.cnblogs.com/tomclock/p/5633433.html

你可能感兴趣的文章
小D课堂 - 新版本微服务springcloud+Docker教程_2_02 微服务核心基础讲解
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_2_04微服务下电商项目基础模块设计...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_3-01 什么是微服务的注册中心
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_3-03CAP原理、常见面试题
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_3-04 SpringCloud微服务核心组件Eureka介绍和闭源后影响...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_3-05 服务注册和发现Eureka Server搭建实战...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_3-06 服务注册和发现之Eureka Client搭建商品服务实战...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_3-07 Eureka服务注册中心配置控制台问题处理...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_4-01 常用的服务间调用方式讲解
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_4-02 微服务调用方式之ribbon实战 订单调用商品服务...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_4-03 高级篇幅之Ribbon负载均衡源码分析实战...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_4-06 Feign核心源码解读和服务调用方式ribbon和Feign选择...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_4-05 微服务调用方式之feign 实战 订单调用商品服务...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_5-02 Netflix开源组件断路器
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_5-01分布式核心知识之熔断、降级
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_5-04 feign结合hystrix断路器开发实战下...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_5-03 feign结合hystrix断路器开发实战上...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_6-01 微服务网关介绍和使用场景
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_5-05熔断降级服务异常报警通知
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_6-03 高级篇幅之zuul常用问题分析
查看>>