【发布时间】:2019-08-02 02:02:02
【问题描述】:
我是 C# 单元测试的新手,必须测试该方法是否正常工作。
这是我目前所拥有的:
public async Task<IHttpActionResult> Post(API_FIRM_LINK aPI_FIRM_LINK)
{
db.API_FIRM_LINK.Add(aPI_FIRM_LINK);
await db.SaveChangesAsync();
return Created(aPI_FIRM_LINK);
}
测试方法:不确定我是否走在正确的道路上 如果有人可以根据我的测试提供一个例子
public async Task PostTest()
{
////Arrange
API_FIRM_LINKController controller = new API_FIRM_LINKController();
API_FIRM_LINK aPI_FIRM_LINK = null;
IHttpActionResult expectedResult = await controller.Post(aPI_FIRM_LINK);
//act
IHttpActionResult result = await controller.Post(API_FIRM_LINK, aPI_FIRM_LINK);
////Assert
IComparer<IHttpActionResult> comparer = new IHttpActionResultComparer();
// Assert.IsTrue(comparer.Equals(expectedResult, result));
Assert.IsNotNull(result);
Console.Write(result);
【问题讨论】:
-
不要使用
async void。 -
您在这里遇到的问题是什么?
-
谢谢.. 老实说我是新手 - 我正在尝试设置测试,但不确定如何使用一种方法来检查其是否正常工作
-
This SO answer 提供了一些关于为什么
async void在单元测试中不起作用的见解 -
控制台结果 = System.Threading.Tasks.Task'1{System.Web.Http.IHttoActionResult ] 到目前为止
标签: c# unit-testing async-await