当前位置: 首页 > 知识库问答 >
问题:

为什么不能识别“异步空”单元测试?

胡嘉歆
2023-03-14
[TestClass]
public class MyTestClass
{
    [TestMethod]
    public async void InvisibleMyTestMethod()
    {
        await Task.Delay(1000);
        Assert.IsTrue(true);
    }
}
[TestMethod]
public async Task VisibleMyTestMethod()
{
    await Task.Delay(1000);
    Assert.IsTrue(true);
}

为什么会这样?并不是说我绝对需要一个异步void测试方法,我只是好奇而已。当您生成异步空测试方法时,Visual Studio 2012不会给出警告或错误,即使它将无法运行。..

共有1个答案

那正初
2023-03-14

Async void方法应该被认为是“启动并忘记”--没有办法等待它们完成。如果Visual Studio启动其中一个测试,它将无法等待测试完成(将其标记为成功)或捕获引发的任何异常。

使用异步任务,调用方可以等待执行完成,并捕获运行时引发的任何异常。

有关Async voidAsync task的更多讨论,请参见此答案。

 类似资料:
  • 对于这个程序,它要求用户输入他们的全名。然后,它通过在名字和姓氏之间的空格处将它们分开来排序名字和姓氏。但是,indexOf()无法识别空格并且只返回-1。为什么?谢谢。 以下是PracticeIt的提示: 编写一个名为process Name的方法,该方法接受控制台的Scanner作为参数,并提示用户输入他或她的全名,然后以相反的顺序打印名称(即姓氏、名字)。您可以假设只会给出名字和姓氏。您应该

  • 有25种类型的空白。在下面的代码中显示,25种类型中有4种在Java中不被视为空白。为什么? 参考-https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/character.html#IsWhitespace(char)

  • 这是一段代码 这将向控制台提供以下结果: 这意味着第一个中的链被识别为空链。 另一方面,Reactor具有以下类MonoEmpty,该类由Mono返回。empty()方法。除此之外,该方法还包括以下内容: 没有发出任何项,但我用方法发出了类型化对象。 对此有何解释?

  • 问题内容: 经过一整天的研究和尝试,我终于放弃了 纯AJAX的 上传文件(ps:本文如何与JQuery异步上传文件?埋了我的最后希望) 我的问题可能没什么意义,但是我仍然想知道为什么ajax(或XMLHttpRequest)不能处理这个问题?为什么文件不能像真正的httprequest那样传输? 问题答案: 出于安全原因,JavaScript无法读取本地文件,因此我们无法使用AJAX发送数据。 但

  • 我在单元测试(用C#编写)中存根了必要的方法等,但问题是在断言测试之前异步操作没有完成。 我怎么才能绕过这个?我应该创建一个模拟TaskFactory或任何其他技巧来单元测试异步操作吗?

  • 在PhpStorm的最新版本(2018年)中,所以它在项目的2017年版本中,我有一个名为<code>User_model的文件。php</code>,并且PhpStorm不将其识别为php文件,而是将其识别成纯文本文件。 但它并不总是如此;我最近才注意到。 我意识到问题出在文件名中()。因为只要我更改文件名(例如,),该文件就会立即被识别为php文件。 是不是(< code>User_model