2011-09-30 28 views
0

嘲笑WCF服務(從ASMX轉化)我有Silverligth單元測試應用程序(.NET 4.0)和我已經添加引用到我的WCF服務(3.5)如何通過起訂量

這裏是我的代碼

MyService.svc

<%@ServiceHost Language="VB" Service="MyServiceWS.Service1" %> 

MyService.asmx

<System.Web.Services.WebService(Namespace:="http://schemas.mypage.co.uk/MyService")> _ 
<System.Web.Services.WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _ 
<ServiceContract(Namespace:="http://schemas.mypage.co.uk/MyService")> _ 
<ServiceKnownType(GetType(Member))> _ 
<ToolboxItem(False)> _ 
Public Class Service1 
    Inherits System.Web.Services.WebService 

從reference.cs

[System.Diagnostics.DebuggerStepThroughAttribute()] 
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] 
public partial class Service1Client : System.ServiceModel.ClientBase<MyServiceApp.MyServiceService.Service1>, MyServiceApp.MyServiceService.Service1 { 

我的TestClass:

using Microsoft.VisualStudio.TestTools.UnitTesting; 
using Moq; 

namespace MyServiceApp.UnitTests 
{ 
    [TestClass] 
    public class ShowroomLogViewModelTests 
    { 
     [TestMethod] 
     public void ReloadShowroomLogs_IsBusyShouldBeFalse() 
     { 
      var mockedWebService = Mock<IService1>; 

問題是:

IService1 cannot be resolved 

我怎麼能嘲笑我的WCF服務?

編輯:一個更緊密步驟

var mockedWebService =new Mock<MyService.Service1>; 

我已經改變了這個,現在正在編制的,但是...我 避風港」的方法,例如訪問

mockedWebService.GetShowroomLogs(); 

這是一個很大的問題,因爲,我需要在ShowroomLogViewModel更改屬性ServiceClient接口,我不能因爲後來我視圖模型不能使用WCF服務的方法。

+1

我想你應該這樣做:mockedWebService.Object.GetShowroomLogs(); –

+0

是的,這是有效的。添加它作爲答案,我會獎勵你:) – user278618

+0

爲什麼你使用VB,這是垃圾。 – PositiveGuy

回答

1

你應該這樣做:mockedWebService.Object.GetShowroomLogs();