Почему мой модульный тест C ++ / CX не проходит?
У меня есть следующееМагазин Windows / Метро Стиль " методы тестирования в VS 2012 C ++ / CX
Это успешно, что нормально
TEST_METHOD(TestMethod)
{
bool passed = false;
concurrency::event finished;
finished.reset();
auto testTask = concurrency::create_task( [&finished, &passed]()
{
passed = true;
finished.set();
});
finished.wait(100000);
Assert::IsTrue(passed);
}
Этот сбой, что тоже нормально:
TEST_METHOD(TestMethod)
{
bool passed = true;
concurrency::event finished;
finished.reset();
auto testTask = concurrency::create_task( [&finished, &passed]()
{
passed = false;
finished.set();
});
finished.wait(100000);
Assert::IsTrue(passed);
}
Но по какой-то причине этот тест не проходит:
TEST_METHOD(FailedTest)
{
concurrency::event finished;
finished.reset();
auto testTask = concurrency::create_task( [&finished]()
{
Assert::IsTrue(false);
finished.set();
});
finished.wait(100000);
}
Я делаю что-то неправильно?
Как примечание, возможный обходной путь может заключаться в том, чтобы поместить все результаты моих тестов в переменные и "тестовое задание" их все послеfinished.wait(100000);
, но я все еще хотел бы знать, если что-то не так с тем, что я делаю.