3

我想用 silverlight 开始单元测试,一些在线示例使用以下语句

EnqueueCallback
EnqueueConditional
EnqueueTestComplete

这些住在哪里?

4

1 回答 1

5

好的,找到了我的答案。如果您的测试继承自 WorkItemTest(或 PresentationTest 或 SilverlightTest),您将能够从您的测试中调用:

TestComplete()

指示框架您的测试方法已完成,并进入下一个结果。这可以添加到事件回调、委托等。在调用它之后,您不应该再做任何工作或测试。

EnqueueTestComplete

将一个动作排入队列以调用 TestComplete。这是一组工作完成后调用 TestComplete 最常用的方式,通常是最后一次 Enqueue* 方法调用。

EnqueueCallback

将一个动作排入队列(委托、简单的 lambda 等)。工作项有效地调用动作,然后继续。或者,这个 enqueue 方法也接受一个 Actions 数组,允许您按顺序将多个 Action 调用链接在一起。

EnqueueConditional

采用 Func 条件语句/谓词。每次评估工作项时,都会调用该函数。当它返回 True 时,工作项已完成,将继续执行。在每次调用谓词之后,测试框架将展开堆栈,允许其他工作发生,然后再返回再次尝试条件。

EnqueueDelay

此方法将一个工作项排入队列,该工作项采用 TimeSpan 对象或表示在继续之前至少延迟毫秒数的整数。这不是一个精确的计时器,而是一种确保至少持续最少时间的方法。它更像是 DoEvents 调用而不是 Sleep 调用,因为它不会阻塞 UI 线程。

于 2009-07-22T10:36:49.223 回答