【发布时间】:2018-11-13 12:03:12
【问题描述】:
我是 .NET 的新手(我来自 Java 和 Spring 框架),直到现在我从未在云上工作过。
目前我开始着手在 Azure 中部署一个新的 .NET 项目。我知道我可以使用 Cloud Explorer 视图从 Visual Studio 对其进行调试,但我对如何在云中执行 unit test 存有疑问。
我试着用一个例子更好地解释。在我的项目中,我有这个控制器类:
namespace MyProject.Controllers
{
/**
* Classe controller che implementa le operazioni per protocollare una mail
*/
public class MailProtocolloController : ApiController
{
private String urlBaseProtocolloApi = "http://myserver.westeurope.cloudapp.azure.com:8081/myApi";
public void getAooList()
{
string jsonRequest = urlBaseProtocolloApi + "/api/myresource/GetDepartmentsList";
CredentialCache credCache = new CredentialCache();
credCache.Add(new Uri(jsonRequest), "NTLM", CredentialCache.DefaultNetworkCredentials);
HttpWebRequest spRequest = (HttpWebRequest)HttpWebRequest.Create(jsonRequest);
spRequest.Credentials = credCache;
spRequest.UserAgent = "Mozilla/4.0+(compatible;+MSIE+5.01;+Windows+NT+5.0";
spRequest.Method = "GET";
spRequest.Accept = "application/json;odata=verbose";
HttpWebResponse endpointResponse = (HttpWebResponse)spRequest.GetResponse();
string sResult;
}
}
}
好的,我知道目前这个 API 没有返回任何内容(无效),它仍处于萌芽状态,我必须对其进行更改。
目前我唯一想做的就是使用单元测试来检查 sResult 属性是否包含结果。
问题:
1) 要执行我的应用程序,它必须部署在云中(因为此 API 调用必须在同一环境中的 REST API,实际上我使用 CredentialCache 附加凭据类。我可以在云上部署这个应用程序并从这里执行我的单元测试吗?(类似于使用 Cloud Explorer 视图在云中执行调试。
2) 我要如何在 .NET 项目中创建单元测试? (在 Java 中我只是创建一个导入 JUnit 的类)
【问题讨论】:
-
调用不在单元测试中的 REST API 严格来说不是单元测试。你想模拟你的依赖还是仅仅自动化你的常规测试并为此使用单元测试项目?
标签: c# asp.net .net visual-studio unit-testing