API 测试(16)
来源:互联网 发布:淘宝订单号查询 系统 编辑:程序博客网 时间:2024/04/29 02:08
示例程序:ApiTest
此程序综合了前15篇的多种技术,编写了一个完整的轻量级的API测试套件。待测方法包括:ArithmeticMean(),GeometricMean()和HarmonicMean(),它们在API开始时候描述过。轻量级测试套件完整代码如下,这个程序从TestCases.txt文件每次读入一行测试用例数据。然后测试套件会解析出测试用例ID,并且一并得到待测方法的名称、输入值和期望值。输入值为传给待测方法,接下来程序把得到的实际结果和测试用例的期望结果进行比较 。测试通过与否,最终的结果会发送到命令行程序并且记录到TestResults.txt文件
==============Program ApiTest====================
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using MathLib;
namespace TestAutomation
{
class Program
{
[STAThread]
static void Main(string[] args)
{
try
{
FileStream ifs = new FileStream("..//..//TestCases.txt", FileMode.Open);
StreamReader sr = new StreamReader(ifs);
string stamp = DateTime.Now.ToString("s");
stamp = stamp.Replace(":", "-");
FileStream ofs = new FileStream("..//..//TestResults" + stamp + ".txt", FileMode.CreateNew);
StreamWriter sw = new StreamWriter(ofs);
string line, caseID, method;
string[] tokens, tempInput;
string expected;
double actual = 0.0;
int numPass = 0, numFail = 0;
Console.WriteLine("/nCaseID Result Method Details");
Console.WriteLine("===============================/n");
while ((line = sr.ReadLine()) != null)
{
tokens = line.Split(':');
caseID = tokens[0];
method = tokens[1];
tempInput = tokens[2].Split(' ');
expected = tokens[3];
int[] input = new int[tempInput.Length];
for (int i = 0; i < input.Length; i++)
{
input[i] = int.Parse(tempInput[i]);
}
if (method == "ArithmeticMean")
{
actual = MathLib.Methods.ArithmeticMean(input);
if (actual.ToString("F4") == expected)
{
Console.WriteLine(caseID + " Pass " + method + " actual = " + actual.ToString("F4"));
sw.WriteLine(caseID + " Pass " + method + " actual = " + actual.ToString("F4"));
++numPass;
}
else
{
Console.WriteLine(caseID + " *FAIL " + method + " actual = " + actual.ToString("F4") + " expected = " + expected);
sw.WriteLine(caseID + " *FAIL " + method + " actual = " + actual.ToString("F4") + " expected = " + expected);
++numFail;
}
}
else if (method == "GeometricMean ")
{
MathLib.Methods m = new MathLib.Methods();
actual = m.GeometricMean(input);
if (actual.ToString("F4") == expected)
{
Console.WriteLine(caseID + " Pass " + method + " actual = " + actual.ToString("F4"));
sw.WriteLine(caseID + " Pass " + method + " actual = " + actual.ToString("F4"));
++numPass;
}
else
{
Console.WriteLine(caseID + " *FAIL " + method + " actual = " + actual.ToString("F4") + " expected = " + expected);
sw.WriteLine(caseID + " *FAIL " + method + " actual = " + actual.ToString("F4") + " expected = " + expected);
++numFail;
}
}
else
{
Console.WriteLine(caseID + " " + method + " Not yet implemented");
sw.WriteLine(caseID + " " + method + " Not yet implemented");
}
}//测试用例循环
Console.WriteLine("/n==================end test run =================");
Console.WriteLine("/nPass = " + numPass + "Fail = " + numFail);
sw.WriteLine("/nPass = " + numPass + "Fail = " + numFail);
sr.Close();
ifs.Close();
sw.Close();
ofs.Close();
}
catch (Exception ex)
{
Console.WriteLine("Fatal error:" + ex.Message);
}
Console.ReadLine();
}//Main()
}//Class Program
}//ns TestAutomation
- API 测试(16)
- API 测试(1)
- API 测试(2)
- API 测试(3)
- API 测试 (4)
- API 测试 (5)
- API 测试 (6)
- API 测试(7)
- API 测试(8)
- API 测试(9)
- API 测试(10)
- API 测试(11)
- API 测试(13)
- API 测试(14)
- API 测试(15)
- SoapUI 测试REST API(接口测试)
- 接口测试(api测试)java代码测试
- API 测试
- 端口查看
- CQ的包打开进行修改
- 文件操作
- Ubuntu 显示分辨率不正确的修正
- 如何修改txt文本文件的内容
- API 测试(16)
- append标签
- FusionCharts 的XML标签属性 (一)
- MyEclipse 快捷键(转修)
- css自动换行
- 易我恢复数据
- ◎Ant的使用 - buildfile
- Table 中添加用户自定义控件
- javamail 利用 sendmail 发送邮件