c# – 如何从[TestMethod]调用异步?
发布时间:2020-12-15 07:45:08 所属栏目:百科 来源:网络整理
导读:我在WebAPI MVC项目中有一个相当复杂的方法.它执行许多操作,包括命中远程服务器以进行用户身份验证.根据结果??,它返回重定向(页面),字符串错误消息或表示所有身份验证monkey-business的对象. 从浏览器调用时效果很好.它甚至可以在调试中正常工作.我甚至可以
我在WebAPI MVC项目中有一个相当复杂的方法.它执行许多操作,包括命中远程服务器以进行用户身份验证.根据结果??,它返回重定向(页面),字符串错误消息或表示所有身份验证monkey-business的对象.
从浏览器调用时效果很好.它甚至可以在调试中正常工作.我甚至可以写一个重定向到它并“手动”调用它,传递它需要的任何参数. 我遇到的问题是在创建WebAPI项目时从测试项目VS调用它.我怀疑这是因为因为所有异步和等待被抛出.当它进入它时,最终它会返回一个“对象未设置为对象的实例”错误. 由于它适用于任何其他环境,我认为这是因为它在测试项目中并且需要等待.任何人都可以给我任何建议吗? 编辑:非常具体,这里的第二行代码失败了: BoxConfig boxConfig = new BoxConfig(ClientID,ClientSecret,enterpriseID,prvt,JWTPublicKeyPass,JWTPublicKeyID); BoxJWTAuth boxJWT = new BoxJWTAuth(boxConfig); //This is a JSON web token and is needed to authorize the enterprise level app user. 代码上下文: 这是利用Box.com API. BoxJWT调用创建一个JSON Web令牌.我不知道在这个过程中它失败了,因为当我追踪它时,它无法向我显示像PEMReader.cs之类的东西的代码(这与加密,弹性城堡有关).但非常具体,错误消息详细说明源是Box.V2.JWTAuth.PEMPasswordFinder.GetPassword() 解决方法
每当我创建一个测试异步代码的测试方法时,我都要确保测试方法的签名是Async并返回Task.这允许您避免来自异步void的可怕死锁.现在你可以等待测试方法.
更多信息:https://msdn.microsoft.com/en-us/magazine/dn818493.aspx 例: [TestMethod] public async Task myTestMethod() { await MyMethodToTest(); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |