CustomChannelsTester

Ez CustomChannelsTester egy olyan eszköz, amellyel tesztelheti az egyéni csatorna-implementációkat előre meghatározott szolgáltatási szerződések halmazán. Kiválaszthatja a szolgáltatási szerződések készletét, és egy XML-fájl használatával továbbíthatja azt az eszköznek. Az eszköz ezután létrehozza azt a szolgáltatást és ügyfelet, amely az egyéni csatorna megvalósításait használja az üzenetváltás során.

Az eszköz létrehozása

  1. A megoldás létrehozásához kövesse a Windows Communication Foundation-minták készítésére vonatkozó utasításokat.

  2. A megoldás létrehozása három fájlt hoz létre: CustomChannelsTester.exe, TestSpec.xml és SampleRun.cmd. A fájl SampleRun.cmd egy minta parancssort tartalmaz, amely bemutatja, hogyan használható az eszköz a Transport: UDP-minta tesztelésére.

Az eszköz futtatása

  • A parancssorba írja be a következő parancsot:

    CustomChannelsTester.exe /binding:YourCustomBindingName /dll:TheAssemblyWhereThisTypeIsDefined /testspec:XmlFileNameWhichContainsTestOptions  
    

    /binding A beállítás használata kötelező.

    /dll szükséges, ha a "kötés" nem a Windows Communication Foundation (WCF) által biztosított rendszerkötés.

    /testspec nem kötelező.

    Ez a tesztspecifikációk és a kötés alapján hozza létre a kiszolgálót és az ügyfeleket.

    Végrehajtja a klienst és a szervert, és visszaadja az eredményeket.

    A tesztspecifikációk (testspec.xml) leírásához az alábbi XML-minta található:

    <TestSpec xmlns="http://WCF/TestSpec" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >  
    <ServiceContract>  
    <!-- Test a contract which has oneway / twoway operations. If you set ExpandAll = true, both types of contracts are tested -->    <IsOneWay ExpandAll="true">true</IsOneWay>  
    <!-- Test a contract with Asynchronous / Synchronous Operations-->  
        <IsAsync>false</IsAsync>
    <!-- Test a sessionful / sessionless contract-->
        <IsSession ExpandAll="true">true</IsSession>  
    <!-- If the Service Contract includes a CallBack Contract-->
        <IsCallBack ExpandAll="true">true</IsCallBack>  
    </ServiceContract>  
    <TestDetails>  
    <!-- Name of the machine that runs the server - required if you want to run the test crossmachine-->  
        <ServerName>ReplaceThisWithTheServerMachineName</ServerName>  
    <!-- Port Number - Optional-->  
        <Port>8000</Port>  
    <!--URI for the callBack address for the client. The client will receive the messages from the server on this address in case of a CallBack Contract-->  
        <ClientCallBackAddress/>
    <!-- Duration (in sec) after the server has started, it times out - optional(default = 300sec) -->  
        <ServerTimeout>300</ServerTimeout>  
    <!-- Duration (in sec) before the Client initializes -optional(default = 60sec) -->  
        <ClientTimeout>60</ClientTimeout>  
    <!-- Number of clients for each service - optional(default = 1) -->  
        <NumberOfClients>1</NumberOfClients>  
    <!-- Number of messages each client sends to the service - optional(default = 1) -->  
        <MessagesPerClient>1</MessagesPerClient>  
    </TestDetails>  
    </TestSpec>