Silverlight在循环中测试EnqueueCallback

时间:2012-05-17 09:45:48

标签: silverlight unit-testing

我正在编写依赖于测试开始时加载的数据的Silverlight测试,如下所示:

string[] testVectors = new string[20];
EnqueueCallback( Load some data );
EnqueueConditional( Wait for loading of data to finish );
EnqueueCallback( Populate testVectors using the loaded data );

接下来,我想使用测试向量将更多回调和条件排入队列。但是我如何循环?????

我不能这样做:

for(int iTest=0; iTest<20; iTest++ )
{
   EnqueueConditional( Run test for testVector[iTest] );
   EnqueueConditional( Wait for test to finish );
}

...因为for循环运行时测试向量字符串不存在。

有什么想法吗?

感谢阅读!

1 个答案:

答案 0 :(得分:1)

您要做的就是将另一个操作排队以便稍后执行,只是此操作包括对一些更依赖的操作进行排队。

你可以做的是将一个回调嵌入你的测试的其余部分,直接或通过链接到另一个方法。

EnqueueCallback(...);
...
EnqueueCallback(() => 
{
    for(int iTest=0; iTest<20; iTest++ )
    {
        EnqueueConditional( ... );
    }
});

可能不希望在嵌套回调下面放置任何未嵌套的东西 - 它可以在嵌套的东西之前执行/排队。