我是起订量和单元测试的新手。我一直在进行单元测试,这是以下代码:
private Mock<IServiceAdapter> repository;
[TestInitialize]
public void Initialize()
{
repository= new Mock<IServiceAdapter>();
}
[TestMethod()]
public void SaveTest()
{
//Setup
string Name = "Name1";
string Type = "1";
string parentID = null;
repository.Setup(x => x.Save(Name , Type, parentID)).Returns("Success").Verifiable();
//Do
var result = repository.Object.Save(Name , Type, parentID);
//Assert
repository.Verify();
}
我的问题是测试将始终返回我放入 Returns 参数中的字符串,换句话说,它将始终返回“成功”或我在其位置写入的任何内容。我想那是不对的,因为那不是服务的真实行为。任何人都知道我如何反映我正在尝试测试的“保存”服务的真实行为?所以可以说,如果返回字符串与服务方法不同,那么测试应该失败。
已编辑
ServiceAdapter 接口只是一个 Web 服务的包装器,我称之为 REST 服务。这是一个 Web 表单项目。
我正在做类似这篇文章的事情
我应该创建一个像 FakeController 这样的依赖注入来让它工作吗?