簡體   English   中英

通過第三方DLL公開的模擬WCF服務參考

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM