我正在尝试使用 UNIT TEst 测试 WCF 数据服务(ODATA SERVICES),但我无法这样做。
任何人都可以帮忙吗?
您可以通过直接调用数据服务类本身的函数(内部/白盒测试)对数据服务进行单元测试,也可以通过构建进程内服务并通过 http 请求调用数据服务来进行单元测试。
直接调用数据服务类将执行那里的逻辑,但风险是数据服务可能会对使用网络堆栈状态作为处理请求的一部分进行假设/依赖。如果是这样,那么直接调用数据服务的单元测试可能会失败,因为测试环境没有正确反映运行时环境。
将数据服务设置为进程内服务并在单元测试中通过 http 请求访问它可以更好地表示真实世界的运行时环境,因为调用实际上是通过网络堆栈并被分派到数据服务就像它们在运行时一样。如果数据服务真正独立于网络状态,这可能有点矫枉过正,但它更好地代表了现实世界的操作。