我有以下的“Windows应用商店/ Metro风格”,在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);
,但我还是想知道如果有什么实际错误的我在做什么。