У меня есть тестовое приложение 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 {
мой тестовый класс:
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();
Это большая проблема, потому что мне нужно изменить свойство ServiceClient в ShowroomLogViewModel для интерфейса, и я не могу, потому что тогда моя viewmodel не может использовать методы сервиса wcf.