我正在尝试使用 UNIT TEst 测试 WCF 数据服务 (ODATA SERVICES),但我无法这样做。
有人可以帮忙吗?
最佳答案
您可以通过直接调用数据服务类本身的函数(内部/白盒测试)来对数据服务进行单元测试,也可以通过构建进程内服务并通过 http 请求调用数据服务来进行单元测试。
直接调用数据服务类将执行其中的逻辑,但风险在于数据服务可能假设/依赖于使用网络堆栈状态作为处理请求的一部分。如果是这样,那么直接调用数据服务的单元测试可能会失败,因为测试环境没有正确反射(reflect)运行时环境。
将数据服务设置为进程内服务并在单元测试中通过 http 请求访问它可以更好地表示真实世界的运行时环境,因为调用实际上通过网络堆栈并被分派(dispatch)到数据服务在运行时的样子。如果数据服务真正独立于网络状态,这可能有点矫枉过正,但它更好地代表了现实世界的操作。
关于odata - WCF 数据服务(ODATA 服务)是否可测试?我们可以为WCF数据服务编写单元测试吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19400496/