Как получить значение после выполнения фонового работника в тестовом случае nunit?

У меня есть метод, который выполняет операцию на фоне работника. Теперь мне нужно добавить тестовый пример для того же метода.

Как я могу получить фактическое значение, которое применяется после запуска фонового работника?

    public class CustomControl
    {
        public int values = 0;
        public void OKButtonClick()
        {

            var worker = new BackgroundWorker();
            worker.DoWork += (sender, args) =>
            {
                CreateFilterPredicates();
            };
            worker.RunWorkerCompleted += (s, e) =>
            {
                values = 10;
            };
            if (!worker.IsBusy)
            {
                worker.RunWorkerAsync();
            }
        }
    }


   [Test]        
    public void OKClickTest()
    {
        CustomControl filter = new CustomControl();
        filter.OKButtonClick();

        //How to get the value is passed?
        if (filter.values == 10)
        {
            Assert.Pass();
        }
        else Assert.Fail();
    }

0 ответов

Другие вопросы по тегам