-1
測試類的項目JohnsonTest被測C#測試將不會編譯
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Usecases;
using Requests;
namespace Controllers
{
[TestClass]
public class InitialContollerTest : IUsecase
{
private bool executeMethodCalled = false;
public void Execute(IRequest request)
{
executeMethodCalled = true;
}
[TestMethod]
public void ShouldCallInitialUsecase()
{
IRequest request = new InitialRequest();
InitialController controller = new InitialController(request, this);
controller.Execute();
Assert.IsTrue(executeMethodCalled);
}
}
}
類的項目約翰遜
參與項目約翰遜using Requests;
namespace Usecases
{
public interface IUsecase
{
void Execute(IRequest request);
}
public class InitialUsecase : IUsecase
{
public void Execute(IRequest request)
{
;
}
}
}
而且
using Requests;
using Usecases;
namespace Controllers
{
interface IController
{
void Execute();
}
public class InitialController : IController
{
private IUsecase usecase;
private IRequest request;
public InitialController(IRequest request, IUsecase usecase)
{
this.request = request;
this.usecase = usecase;
}
public void Execute()
{
usecase.Execute(request);
}
}
}
其他類
namespace Requests
{
public interface IRequest
{
}
public class InitialRequest : IRequest
{
}
}
個
構建錯誤是:
1> C:\用戶\ bggib_000 \文件\視覺工作室 2017 \項目\約翰遜\約翰遜\ JohnsonRibbon.cs(25,21,25,38):錯誤 CS7036:沒有給出說法,對應於所需 形式參數 「InitialController.InitialController(IRequest,IUsecase)」
這似乎是抱怨「這個」的「用例」,但我以前用'this'測試
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Usecases;
namespace Controllers
{
[TestClass]
public class InitialContollerTest : IUsecase
{
private bool executeMethodCalled = false;
void IUsecase.Execute()
{
executeMethodCalled = true;
}
[TestMethod]
public void ShouldCallInitialUsecase()
{
InitialController controller = new InitialController(this);
controller.Execute();
Assert.IsTrue(executeMethodCalled);
}
}
}
與此類工作:
public class InitialController : IController
{
IUsecase usecase;
public InitialController(IUsecase usecase)
{
this.usecase = usecase;
}
public void Execute()
{
usecase.Execute();
}
}
2> C:\用戶\ bggib_000 \文件\視覺工作室 2017 \項目\約翰遜\ JohnsonTest \ ContollerTest.cs(8,41, 8,49):錯誤 CS0535:「InitialContollerTest」不實現接口成員 「IUsecase.Execute()」
這似乎是抱怨的東西,不Ë XIST。
using Requests;
namespace Usecases
{
public interface IUsecase
{
void Execute(IRequest request);
}
public class InitialUsecase : IUsecase
{
public void Execute(IRequest request)
{
;
}
}
}
Visual Studio Community 2017並未指出任何錯誤。爲什麼不這樣編譯?
問題尋求幫助調試(「爲什麼不是這樣代碼工作?「)必須包括所需的行爲,特定的問題或錯誤以及在問題中重現它所需的最短代碼小精靈。沒有明確問題陳述的問題對其他讀者無益。請給我 –
[MCVE]。 .. –
'InitialController'構造函數需要兩個參數,您提供了一個參數。 – CodeCaster