C# 如何使用nunit测试异步方法

C# 如何使用nunit测试异步方法,c#,testing,asynchronous,nunit,C#,Testing,Asynchronous,Nunit,如何使用nunit测试异步方法?如果您有.NET版本5的C#编译器,那么您可以使用新的async和Wait关键字。 连接以下链接: 如果可以使用闭包和匿名lambda函数,请使用线程同步 (例如) 你可以用 此示例适用于NUnit 3.6,但早期版本也支持延迟约束,但由于语法不同,请查找它。您遇到了什么问题?你只是测试他们;并检查他们正在做的事情。我是说,不管你需要等待什么。这只是看看你是否能让它通知你的问题,所以你不需要投票。可能是也可能不是。一个7字的问题几乎重复了5次投票,显示没有研究成果

如何使用nunit测试异步方法?

如果您有.NET版本5的C#编译器,那么您可以使用新的async和Wait关键字。 连接以下链接:

如果可以使用闭包和匿名lambda函数,请使用线程同步

(例如)

你可以用


此示例适用于NUnit 3.6,但早期版本也支持延迟约束,但由于语法不同,请查找它。

您遇到了什么问题?你只是测试他们;并检查他们正在做的事情。我是说,不管你需要等待什么。这只是看看你是否能让它通知你的问题,所以你不需要投票。可能是也可能不是。一个7字的问题几乎重复了5次投票,显示没有研究成果。我嫉妒;)StackOverflow不允许在没有解释的情况下进行向下投票。请在投票时解释你自己,这样有助于我们大家学习。
[TestFixture]
class SomeTests
{
    [Test]
    public void AsyncTest()
    {
        var autoEvent = new AutoResetEvent(false); // initialize to false

        var Some = new Some();
        Some.AsyncFunction(e =>
        {
            Assert.True(e.Result);
            autoEvent.Set(); // event set
        });
        autoEvent.WaitOne(); // wait until event set
    }

}
[TestFixture]
class SomeTests
{
    [Test]
    public void AsyncTest()
    {
        var result = false;
        var Some = new Some();
        Some.AsyncFunction(e =>
        {
            result = e.Result;
        });

        Assert.That(() => result, Is.True.After(1).Minutes.PollEvery(500).MilliSeconds);
    }

}