[英]Mock WCF service reference exposed through a third party DLL
我們的應用程序通過dll引用和客戶端應用程序的web.config中的WCF配置條目與WCF Web服務集成。 當我嘗試模擬Web服務時,我收到“在ServiceModel客戶端配置部分中找不到引用合同的默認終結點元素。這可能是因為沒有為您的應用程序找到配置文件,或者是因為沒有匹配此co。的終結點元素。 。”錯誤。 要解決此問題,我已將web.config中的相應綁定添加到測試項目的app.config文件中,並將其設置為“始終復制”,因此將其復制到bin \\ debug文件夾中,但仍然出現錯誤。 我應該如何解決這個問題?
using Payments.ServiceReferences.PaymentServiceProxy;
public interface IPaymentsAPIClientGenerator
{
PaymentServiceClient PaymentServiceClient { get; }
}
using Payments.ServiceReferences.PaymentServiceProxy;
public class PaymentsAPIClientGenerator : IPaymentsAPIClientGenerator
{
public PaymentsAPIClientGenerator()
{
}
public PaymentServiceClient PaymentServiceClient
{
get
{
var paymentServiceClient = PaymentVaultProxyFactory.GeneratePaymentServiceClient();
return paymentServiceClient;
}
}
}
[TestMethod]
public void IfTheSecondPaymentFailsThenTheFirstPaymentShouldBeVoided()
{
//Arrange
var iPaymentsAPIClientGeneratorMock = new Mock<IPaymentsAPIClientGenerator>();
var paymentServiceClient = new Mock<PaymentServiceClient>();
iPaymentsAPIClientGeneratorMock.SetupGet(counter => counter.PaymentServiceClient).Returns(paymentServiceClient.Object);
}
生成該dll的項目的web.config應該具有綁定配置。 如果您將dll作為vs中的項目引用進行引用,則它應使用內置的任何設置,否則,最直接的解決方案是將綁定復制到測試應用程序的配置中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.