使用异步单元测试

时间:2016-10-07 12:58:12

标签: c# multithreading unit-testing

我正在尝试对外部方法进行测试,以检查该方法是否是线程安全的。多用户场景。我的代码看起来像这样。

    public async Task ComputeAirPressureDropThread_OK()
    {
        var tasks = new List<Task<double>>();

        for (int i = 1; i <= 10; i++)
        {
            Task<double> t = new Task<double>(() =>
                                              {
                                                  var friterm = new Coil();
                                                  return friterm.ComputeAirPressureDrop(150);
                                              }
                );

            t.Start();

            tasks.Add(t);
        }

        var results = await Task.WhenAll(tasks);

        foreach (var result in results)
        {
            Assert.AreEqual(result,
                            5.62194204005949,
                            0.0001);
        }
    }

上面代码中的方法ComputeAirPressureDrop(150)是我试图测试它是否是线程安全的。但是在运行测试时我会遇到这样的错误。代码是4.6和vs 2015.该函数是具有正常引用的外部COM dll。

enter image description here

0 个答案:

没有答案
相关问题