我在.NET (我来自Java和Spring框架)非常新,直到现在我才开始从事云方面的工作。
目前,我开始从事一个部署在Azure中的新.NET项目。我知道我可以使用Cloud 视图从Visual调试它,但我对如何在云中执行单元测试有疑问。
我试着用一个例子来更好地解释。在我的项目中,我有一个控制器类:
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,实际上我是使用CredentialCache类附加证书。我可以在云上部署这个应用程序,然后在这里执行我的单元测试吗?(类似于使用Cloud 视图在云中执行调试。
2)要将单元测试创建到.NET项目中,我需要做什么?(在Java中,我只需创建一个导入JUnit的类)
发布于 2018-11-13 04:16:49
1.)如果您必须在云中测试它,那么它不是一个单元测试,而是一个集成测试!对于集成测试,我推荐邮递员和邮递员跑步者(纽曼)。您可以用JS脚本在postman中定义rest调用来测试响应,还可以使用CLI工具纽曼调用定义的测试来实现自动化。
2.)C#中有两种用于单元测试、质谱测试和NUnit的可能性。下面是两者之间的比较矩阵,以确定哪一个匹配最好:
http://www.anarsolutions.com/automated-unit-testing-tools-comparison/
如果您想要一些与JUnit类似的东西,而不是我认为NUint对您是最好的:
NUnit是一个面向Microsoft .NET的开放源代码单元测试框架,它的用途与JUnit在Java世界中的用途相同。
例如,在MS测试中,您必须添加MSTest Nuget包,使用注释[TestClass]
定义类,用注释[TestMethod]
定义测试方法,然后您可以在测试方法中使用Assert
命令,即
[TestClass]
public class MyTestClass
{
[TestMethod]
public void MyTest_Successful()
{
Assert.IsTrue(/*Something true*/ true);
}
}
https://stackoverflow.com/questions/53280645
复制相似问题