软件测试单元测试代码示例
[TestMethod]
public void login()
{
var dt = "grant_type=password&username=" + number + "&password=" + pass + "&client_id=ynumisSite";
var res = Post(address+"/OAuth/Token", dt);
Assert.IsFalse(String.IsNullOrEmpty(res));
JObject jsObj = JObject.Parse(res);
Access_token = jsObj.Value("access_token");
String fullName = jsObj.Value("fullName");
Debug.WriteLine(jsObj.Count);
Assert.AreEqual("XXX", fullName);
}
[TestMethod]
public void TeachClassSchool()
{
// if (Access_token == "") login();
var res = Get(address + "/api/TeachClassSchool");
Debug.WriteLine(res);
}
public static string USERAGENT = "Mozilla/4.0";
public static string ACCEPT = "application/json, text/plain, */*";
public static string ContentType = "application/x-www-form-urlencoded";
private static string Access_token="";
///
/// Post模式浏览
///
/// 网址
/// 流
///
public static byte[] Post(string url, byte[] data)
{
return Post(null, url, data, null);
}
///
/// Post模式浏览
///
/// 网址
/// 流
///
public static string Post(string url, string data)
{
var dt = Post(null, url, Encoding.UTF8.GetBytes(data), null);
if (dt != null)
{
var str = Encoding.UTF8.GetString(dt);
return str;
}
return null;
}
///
/// Post模式浏览
///
/// 服务器地址
/// 网址
/// 流
/// cookieHeader
///
public static byte[] Post(string server, string url, byte[] data, string cookieHeader)
{
if (data == null || data.Length == 0)
{
throw new ArgumentNullException("data");
}
var httpWebRequest = (HttpWebRequest)HttpWebRequest.Create(url);
//添加cookie头
if (!string.IsNullOrEmpty(cookieHeader))
{
if (string.IsNullOrEmpty(server))
{
throw new ArgumentNullException("server");
}
var co = new CookieContainer();
co.SetCookies(new Uri(server), coo
kieHeader);
httpWebRequest.CookieContainer = co;
}
//添加认证信息
if (!string.IsNullOrEmpty(Access_token))
httpWebRequest.Headers.Add("Authorization", "Bearer " + Access_token);
//设置web请求的格式,方法
httpWebRequest.ContentType = ContentType;
httpWebRequest.Accept = ACCEPT;
httpWebRequest.Referer = server;
httpWebRequest.UserAgent = USERAGENT;
httpWebRequest.Method = "Post";
httpWebRequest.ContentLength = data.Length;
//写入要发送的请求数据
using (var stream = httpWebRequest.GetRequestStream())
{
stream.Write(data, 0, data.Length);
stream.Close();
}
//发送请求,并接收响应
using (var webResponse = (HttpWebResponse)httpWebRequest.GetResponse())
{
//获取响应流对象
using (var stream = webResponse.GetResponseStream())
{
var contentLength = webResponse.ContentLength;
var bytes = new byte[contentLength];
bytes = ReadFully(stream); //读取完整的服务器响应数据
stream.Close();
return bytes;
}
}
}
///
/// Get模式浏览
///
/// Get网址
///
public static string Get(string url)
{
var dt = Get(null, url, null);
if (dt != null)
{
var str = Encoding.UTF8.GetString(dt);
return str;
}
return null;
}
///
/// Get模式浏览
///
/// Get网址
/// cookieHeader
/// 服务器地址
///
public static byte[] Get(string server, string url, string cookieHeader)
{
var httpWebRequest = (HttpWebRequest)HttpWebRequest.Create(url);
if (!string.IsNullOrEmpty(cookieHeader))
{
if (string.IsNullOrEmpty(server))
{
throw new ArgumentNullException("server");
}
var co = new CookieContainer();
co.SetCookies(new Uri(server), cookieHeader);
httpWebRequest.CookieContainer = co;
}
//
if (!string.IsNullOrEmpty(Access_token))
httpWebRequest.Headers.Add("Authorization", "Bearer " + Access_token);
httpWebRequest.Accept = "*/*";
httpWebRequest.Referer = server;
httpWebRequest.UserAgent = USERAGENT;
httpWebRequest.Method = "GET";
var webResponse = (HttpWebResponse)httpWebRequest.GetResponse();
using (Stream stream = webResponse.GetResponseStream())
{
long contentLength = webResponse.ContentLength;
byte[] bytes = new byte[contentLength];
bytes = ReadFully(stream);
stream.Close();
return bytes;
}
}
///
/// 读取目标流中的所有数据
///
///
///
private static byte[] ReadFully(Stream stream)
{
byte[] buffer = new byte[128];
using (var ms = new MemoryStream())
{
while (true)
{
int read = stream.Read(buffer, 0, buffer.Length);
if (read
return ms.ToArray();
ms.Write(buffer, 0, read);
}
}
}
[TestMethod]
public void GetStuSelectCourseList()
{
if (Access_token == "") login();
var res = Get(address+"/api/GetStuSelectCourseList");
Debug.WriteLine(res);
}
String number = "[1**********]";
String pass = "23333";
String address = "http://113.55.0.232/api3";